美文网首页
浅谈Java中的super和this

浅谈Java中的super和this

作者: 安安静静写代码 | 来源:发表于2017-08-03 09:20 被阅读17次

super():代表父类对象,调用父类的构造方法,如果在子类的构造函数中调用该函数则必须放在第一行,该方法会将父类的变量与方法记载到子类开辟的堆内存中。

public class Father {
    
     private  int id;
     public Father()
     {
         
     }
     
    public Father(int id) {     
        this.id = id;
    }

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    
}
public class son extends Father {
   
      public son()
      {
          super();//调用父类的无参构造方法
      }
      public son(int id)
      {
          super(id);//调用父类的有残构造方法
      } 
}

如果父类没有无参构造方法导致子类调用不到相应的构造方法

this():指代本类对象,用于调用本类构造方法和属性还有普通方法,如果在本类找不到就去父类中找

注意:this和super不能在静态方法中使用(因为静态方法是随着类的加载而加载,此时还没有对象,而this和super指本类和父类)

相关文章

网友评论

      本文标题:浅谈Java中的super和this

      本文链接:https://www.haomeiwen.com/subject/hgpulxtx.html