java函數調用次序

上週去參加了個實習生筆試,裏面一道題做錯了,菜鳥啊菜鳥,還得好好歷練啊。

 

問題是:java中的基類構造函數,派生類構造函數,以及派生類的成員類的構造函數,三者調用順序。

 

寫三個類測試:

 

 class Dog{
     public Dog(){
          System.out.println("Dog()");
     }
}
class Pet{
     public Pet(){
          System.out.println("Pet()");
     }
}
public class Cat extends Pet{
     public Cat(){
          System.out.println("Cat()");
 }
 Dog dog = new Dog();
     public static void main(String args[]){
          Cat cat = new Cat();
 }
}

 

輸出:

   Pet()
   Dog()
   Cat()

 

故調用順序是:基類構造函數,派生類的成員類的構造函數,派生類構造函數。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章