簡體   English   中英

為什么我不需要靜態內部類的構造函數?

[英]Why don't I need a constructor for a static inner class?

如果我有一個內部靜態類,為什么不需要構造函數?

您不需要任何類的構造函數,因為如果不提供任何類,則會隱式提供一個不執行任何操作的公共,無參數的構造函數。 您唯一需要指定構造函數的時間是,如果超類沒有提供可見的無參數構造函數。

Java中的任何類都不需要構造函數。 如果您不定義一個,則提供默認的構造函數。 等效於:

public MyClass() {
    super();
}

(當然,該默認構造函數可能無法“工作”;即可能導致編譯錯誤。隱式super();意味着超類需要具有無參數的構造函數,並且該構造函數必須對子類可見。如果不滿足這些前提條件,則需要顯式聲明一個顯式鏈接到其他超類構造函數的構造函數。)

在這方面,靜態內部類與其他類型的Java類沒有區別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM