[英]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.