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指本類和父類)