簡體   English   中英

當一個類在Java中充滿靜態成員函數和變量時會發生什么?

[英]What will happen when a class are full of static member function and variable in Java?

如果我定義了一個充滿靜態成員函數和變量(java)的類,那么可能會發生一些有趣的事情。

我可以將類用作類的單個實例,而無需擔心傳遞實例變量嗎?

如果不實例化對象,構造函數如何生效? 所以我不能在構造函數中初始化靜態成員變量,對吧?

如果我定義了一個充滿靜態成員函數和變量(java)的類,那么可能會發生一些有趣的事情。

不是真的,通常助手/實用程序類沒有實例級字段。它們只有靜態方法和靜態字段。

我可以將類用作類的單個實例,而無需擔心傳遞實例變量嗎

不,將所有方法和字段標記為static不會使其成為單例類。

如果我不實例化對象,構造函數將如何生效

執行new MyClass()時將調用默認構造函數。

所以我不能在構造函數中初始化靜態成員變量,對吧?

你可以。 除非它被標記為final 如果您有靜態塊,您可能會遇到麻煩

它與具有靜態成員的任何其他類的工作方式相同,無論它們都是靜態的還是只是其中的一部分。 它們按預期使用 - 綁定到類,而不是實例。

此外,您實際上可以使用帶有構造函數的“靜態類”,尋找單例模式(但請注意,該模式很容易被誤用)。

暫無
暫無

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

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