1. 程式人生 > >java內部類有什麼好處?為什麼需要內部類?

java內部類有什麼好處?為什麼需要內部類?

在這裡我們給Goods類增加了一個private成員變數valueRate,意義是貨物的價值係數,在內部類Content的方法value()計算價值時把它乘上。我們發現,value()可以訪問valueRate,這也是內部類的第二個好處 一個內部類物件可以訪問建立它的外部類物件的內容,甚至包括私有變數!這是一個非常有用的特性,為我們在設計時提供了更多的思路和捷徑。要想實現這個功能,內部類物件就必須有指向外部類物件的引用。Java編譯器在建立內部類物件時,隱式的把其外部類物件的引用也傳了進去並一直儲存著。這樣就使得內部類物件始終可以訪問其外部類物件,同時這也是為什麼在外部類作用範圍之外向要建立內部類物件必須先建立其外部類物件的原因。