網上很多資料說super指向父類物件,感覺這種說法有誤,看看下邊的例子:
parent類:
public class parent
public void b()
}
child類:
public class child extends parent
public void b()
public static void main(string args)
}
執行結果:
this is parent a
this is child b
this is parent b
如果super指向了父類物件,那麼結果中的第二句應該是「this is parent b」,而程式還是呼叫了子類的b方法,因此super並未指向父類物件。因此本人覺得super只是一種呼叫父類方法的宣告,而在執行父類方法的過程中,仍是子類物件在起作用。
java中super關鍵字
1 在物件的內部使用,可以代表父類物件。a 訪問父類的屬性 super.age b 訪問父類的方法 super.eat public class animal public class dog extends animal public void method public class initai...
Java中this關鍵字和super關鍵字的使用
this是指向物件本身的乙個指標。this只能在類中的非靜態方法中使用,靜態方法和靜態的 塊中絕對不能出現this。1.呼叫本類的構造方法 1 說明 僅僅在類的建構函式中呼叫本類的其他建構函式。用法是this 引數列表 這一句必須處於建構函式的第一句,同時乙個建構函式內部只能呼叫另乙個建構函式 2 ...
java中的this,和super關鍵字
1.this是指當前物件自己。當在乙個類中要明確指出使用物件自己的的變數或函式時就應該加上this引用。如下面這個例子中 public class hello public static void main string args 執行結果 s helloworld 1 this.s hello 2...