
内部類編譯後,産生所屬位元組碼檔案!
内部類通路特點:
1,内部類可以直接通路外部類中的成員。
2,外部類要通路内部類,必須建立内部類的對象。(這個知道怎麼調用就OK)
一般用于類的設計。
分析事物時,發現該事物描述中還有事物,而且這個事物還在通路被描述事物的内容。(其實就是一個類中,還另有特性需要描述)
這時就是還有的事物定義成内部類來描述。
内部類直接通路格式(一般不多見,因為内部類通常都會被封裝(私有)起來!)
内部類靜态後通路方法(此時裡面show()方法是非靜态的!)
此處編譯錯誤原因:内部類show()通路的成員變量不是靜态的!
内部類中定義一個靜态的static void function() ,來調用試試!
運作沒有問題!
——————————視訊暫停中,感覺畢老師要來經典了!!!^ _ ^!~
失望了!原來畢老師把内部類又改成了非靜态的了,這個我都可以想到!一個非靜态的類裡面存在一個靜态函數,那肯定不行!
為什麼呢?因為呀!靜态的函數會随着類的加載而加載,需要類先加載好,有出空間放靜态的函數。(自己的了解!)
簡單的說:如果内部類中定義了靜态成員,該内部類也必須是靜态的。
記住調用的方法!開發不常見!面試就能見到!
new Innwe().show();第一眼看到還蠻新鮮,仔細一看,不就是對象調用方法嘛。。。。。
局部内部類!
别再函數的外面new Inner();,外面的方法看不到裡面的 Inner類。
變量不就在局部裡面嗎?為什麼要加final呢?
固定規則!但可以說說為什麼!,畢老師舉了個上帝類引用指向内部類,然後調用的時候說明了局部變量生命周期短的原因造成的。
還存在問題:final就是後的變量就變成了常量!常量的生命周期就長了?