Java中this和super關鍵字的區別
阿新 • • 發佈:2018-12-27
this強調的是物件的本身,通過this呼叫的屬性和方法都是它所屬於的那個類中的屬性和方法。屬於物件和類間的關係
super在子類中呼叫父類的方法和屬性。屬於子類和父類兩個類間的關係
//父類
public abstract class AbstractPerson {
int age;
public AbstractPerson(int age) {
//呼叫本類中的構造方法
this(age);
//呼叫本類中的屬性
this.age = age;
System.out.println("父類構造方法" );
}
public AbstractPerson() {
}
}
//子類
public class Student extends AbstractPerson{
public Student(int age) {
//父類的構造方法
super(age);
//父類中的屬性
super.age=1;
// TODO Auto-generated constructor stub
}
this和super在呼叫構造方法的時候必須都要放在第一行,而且只能是在一個構造方法中呼叫另外一個構造方法才能使用。由於子類的構造方法必須要呼叫父類的構造方法,所以子類的構造方法中只能出現super()呼叫父類構造方法的情況