1. 程式人生 > >Java中this和super關鍵字的區別

Java中this和super關鍵字的區別

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()呼叫父類構造方法的情況