下列說法正確的有:()

class中的constructor不可省略   //省略,系統會提供默認的無參構造函數
constructor必須與class同名,但方法不能與class同名    // 方法也能夠的,帶返回值就好
constructor在一個對象被new 時執行  // 正確
一個class只能定義一個constructor   // 能夠重載

第二題:函數

在子類構造方法中使用super()顯示調用父類的構造方法,super()必須寫在子類構造方法的第一行,不然編譯不經過   //正確
super()和this()不必定要放在構造方法內第一行
this()和super()能夠同時出如今一個構造函數中
this()和super()能夠在static環境中使用,包括static方法和static語句塊

1)調用super()必須寫在子類構造方法的第一行,不然編譯不經過。this

  • 每一個子類構造方法的第一條語句,都是隱含地調用super(),
  • 若是父類沒有這種形式的構造函數,那麼在編譯的時候就會報錯。

2)super()和this()相似,區別是,指針

  • super從子類中調用父類的構造方法,
  • this 在同一類內調用其它方法。

3)super()和this()均需放在構造方法內第一行對象

4)儘管能夠用this調用一個構造器,但卻不能調用兩個blog

  • 沒在第一行報錯

5)this和super不能同時出如今一個構造函數裏面,編譯器

  • 由於this必然會調用其它的構造函數,
  • 其它的構造函數必然也會有super語句的存在,
  • 因此在同一個構造函數裏面有相同的語句,就失去了語句的意義,編譯器也不會經過。

6)this()和super()都指的是對象,編譯

  • 因此,均不能夠在static環境中使用。包括:static變量,static方法,static語句塊。

7)從本質上講,class

  • this是一個指向本對象的指針, 然而super是一個Java關鍵字。
相關文章
相關標籤/搜索