這兩者大概的區分
this指的是當前對象的引用,super是當前對象里面的父對象的引用。
兩者的用法及區別用一個例子來講
class Student {
public int age;
public void student(){ //聲明Student類的方法student()
age = 15;
System.out.println("學生平均年齡為:"+age);
}
}
class ThisStudent extends Student{
public int age;
public void student(){
super.student(); //使用super作為父類對象的引用對象來調用父類對象里面的方法
age = 18;
System.out.println("這個學生的年齡為:"+age);
System.out.println("這個學生的年齡為:"+super.age); //使用super作為父類對象的引用對象來調用父類對象中的age值
System.out.println(age);
}
}
最后的輸出結果為
學生平均年齡為:15
這個學生的年齡為:18
這個學生的年齡為:15
可以看到最后一個輸出使用super繼承的是其父類的屬性,則還是age為15