1. 程式人生 > >java 隱式呼叫和顯示呼叫

java 隱式呼叫和顯示呼叫

當我們在呼叫類的構造器來建立物件的時候,首先要呼叫的是父類的非靜態的初始化塊,接著會呼叫構造器,但是父類的構造器可能有多個,也就是過載,當呼叫完父類的非靜態初始化塊之後,將會呼叫的是當前類的非靜態初始化塊然後是自身的建構函式,呼叫父類的建構函式就有兩種呼叫的方式,一個是顯示呼叫,另一個是隱式呼叫,下面通過程式碼來說一下這兩者間的區別。

class Person {
public Person (){
}
public Person (String name){
system.out.println(name);
}
}
class Student extends Person {
public Student{
super ("IT90s最前線");
}
public Student{
this();
}
public Student{

}

}
瞭解了這段程式碼的輸出情況,你也就是了解了顯示呼叫和隱式呼叫,這裡出現的關鍵字super,super呼叫用於顯示呼叫父類的構造器,this則用來顯示呼叫本類中的另一個過載的構造器,這兩種構造器只能在構造器中使用,而且出現在建構函式的第一行程式碼中,因此構造器中兩種關鍵字只能用其中一個,而且每個只能呼叫一次。