天天看點

java中的Static class

java中的類可以是static嗎?答案是可以。在java中我們可以有靜态執行個體變量、靜态方法、靜态塊。類也可以是靜态的。

     java允許我們在一個類裡面定義靜态類。比如内部類(nested class)。把nested class封閉起來的類叫外部類。在java中,我們不能用static修飾頂級類(top level class)。隻有内部類可以為static。

     靜态内部類和非靜态内部類之間到底有什麼不同呢?下面是兩者間主要的不同。

    (1)内部靜态類不需要有指向外部類的引用。但非靜态内部類需要持有對外部類的引用。

    (2)非靜态内部類能夠通路外部類的靜态和非靜态成員。靜态類不能通路外部類的非靜态成員。他隻能通路外部類的靜态成員。

    (3)一個非靜态内部類不能脫離外部類實體被建立,一個非靜态内部類可以通路外部類的資料和方法,因為他就在外部類裡面。

基于上面的讨論,我們可以通過這些特性讓程式設計更簡單、有效。

java中的Static class
java中的Static class

參考連結

<a href="http://stackoverflow.com/questions/7486012/static-classes-in-java">http://stackoverflow.com/questions/7486012/static-classes-in-java</a>

本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

轉載:http://www.cnblogs.com/kissazi2/p/3971065.html