答案可以是Yes或No羊瘩,取決于這個(gè)類的是最外層類還是內(nèi)部類腐螟。
編譯器不允許最外層的類聲明為Static,但是可以聲明內(nèi)部類為Static困后。
概念
嵌套類指被定義在另一個(gè)類的內(nèi)部乐纸。嵌套類存在的目的應(yīng)該只是為它的外圍類提供服務(wù)。如果嵌套類可能用于其他的某個(gè)環(huán)境中摇予,那么它應(yīng)該是頂層類汽绢。
嵌套類有四種:除了第一種之外,其它三種都被稱為內(nèi)部類侧戴。
- 靜態(tài)成員類
- 非靜態(tài)成員類
- 匿名類
- 局部類
靜態(tài)內(nèi)部類和普通內(nèi)部類的特點(diǎn):
1宁昭、靜態(tài)成員類最好把它看做是普通的類,只是碰巧的被聲明在另一個(gè)類的內(nèi)部而已酗宋,它可以訪問實(shí)例化后的外圍類的所有成員积仗,包括哪些聲明為私有的成員。
2蜕猫、靜態(tài)內(nèi)部類寂曹,可以聲明普通成員變量和方法,而普通內(nèi)部類不能聲明static成員變量和方法
3回右、靜態(tài)內(nèi)部類隆圆,可以單獨(dú)初始化。普通內(nèi)部類翔烁,必須先初始化外部類
靜態(tài)成員類一種常見用法是作為公有的輔助類渺氧,僅當(dāng)與它的外部類一起使用時(shí)才有意義。
參考
[1] Joshua Bloch. Effective Java 2016年5月第二版 機(jī)械工業(yè)出版社. 優(yōu)先考慮靜態(tài)成員類