Java---- 靜態內部類與非靜態內部類的區別


靜態類(只有內部類才能被聲明為靜態類,即靜態內部類)
1.只能在內部類中定義靜態類
2.靜態內部類與外層類綁定,即使沒有創建外層類的對象,它一樣存在。
3.靜態類的方法可以是靜態的方法也可以是非靜態的方法,靜態的方法可以在外層通過靜態類調用,而非靜態的方法必須要創建類的對象之后才能調用。
5.只能引用外部類的static成員變量(也就是類變量)。
6.如果一個內部類不是被定義成靜態內部類,那么在定義成員變量或者成員方法的時候,是不能夠被定義成靜態的。

總結
1.是否能擁有靜態成員
靜態內部類可以有靜態成員(方法,屬性),而非靜態內部類則不能有靜態成員(方法,屬性)。
2.訪問外部類的成員
靜態內部類只能夠訪問外部類的靜態成員,而非靜態內部類則可以訪問外部類的所有成員(方法,屬性)。
3.靜態內部類和非靜態內部類在創建時有區別

//假設類A有靜態內部類B和非靜態內部類C,創建B和C的區別為:
A a=new A();
A.B b=new A.B();
A.C c=a.new C();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM