Java繼承時構造函數的關系


 

Java繼承時構造函數的關系,先來一道筆試題給大家看看:

 

在繼承中,關於構造方法的說明,下列說法錯誤的是()
   A、子類無條件的繼承父類的無參構造方法,
   B、子類可以引用父類中的有參構造方法,使用super關鍵字,
   C、如果子類沒有構造方法,則父類無參構造方法作為自已的構造方法,

   D、如果子類有無參構造方法,而父類的無參構造方法則被覆蓋。 

 再看看兩個實際例子:

1  public  class Parent{
2      public  static  void main(String args[]) {
3         
4     }
5      public Parent(){
6         System.out.println("Parent class");
7     }    

8 } 

 

 1  public  class TestExtends  extends Parent {
 2      public  static  void main(String args[]) {
 3         TestExtends tes =  new TestExtends();
 4         tes.testMode();
 5     }
 6      public TestExtends(){
 7         System.out.println("TestExtends class");
 8     }
 9     
10      public  void testMode(){
11         System.out.print(100 % 3);
12         System.out.print(",");
13         System.out.println(100 % 3.5);
14     }

15 }

 

輸出結果為: 

Parent class

TestExtends class
1,2.0

結論很明顯 子類的無參數構造函數不會覆蓋父類的,而且會先調用父類的構造函數再調用自己的。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM