內部類不能有靜態變量(除靜態的對Static的理解)


  關於內部類(static與final)

  Static 不用實例化就能加載進內存

  而內部類需要外部類實例化后才能加載進內存。這就間接造成static需要實例化了。與static不需要實例化語義矛盾

 

    1、假設外部類沒有實例化,

    •     通過類名.調用,這時內部類需要實例化才能進內存,顯然外部類沒有實例化則static 未進內存,無法直接調用與static 語義,矛盾。

           靜態的內部類就沒有這一矛盾,不需要實例化就能調用靜態變量。

 

    2、假設外部類實力化,

    •     而static 語義是不用通過類的實例化就能使用,所以又產生了矛盾

如果要使用static變量則需要用final修飾,final修飾后變量不在加載類時進內存,而是在加載了類之前進入內存。

 

最后:局部內部類所在位置方法內的變量不可改變,已被final修飾變成常量。默認有final(1.8之后)。而且只有之中操作方式。

 

加油   堅持     

 


免責聲明!

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



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