super():代表父類對象,調(diào)用父類的構(gòu)造方法,如果在子類的構(gòu)造函數(shù)中調(diào)用該函數(shù)則必須放在第一行,該方法會將父類的變量與方法記載到子類開辟的堆內(nèi)存中。
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();//調(diào)用父類的無參構(gòu)造方法
}
public son(int id)
{
super(id);//調(diào)用父類的有殘構(gòu)造方法
}
}
如果父類沒有無參構(gòu)造方法導致子類調(diào)用不到相應(yīng)的構(gòu)造方法
this():指代本類對象,用于調(diào)用本類構(gòu)造方法和屬性還有普通方法,如果在本類找不到就去父類中找
注意:this和super不能在靜態(tài)方法中使用(因為靜態(tài)方法是隨著類的加載而加載,此時還沒有對象,而this和super指本類和父類)