到現在為止,我們都是在Java檔案中直接定義類。這樣的類出現在包(package)的層級上。Java允許類的嵌套定義。
這裡將講解如何在一個類中嵌套定義另一個類。
嵌套
內部類
Java允許我們在類的內部定義一個類。如果這個類是沒有static修飾符,那麼這樣一個嵌套在內部的類稱為內部類(inner class)。
內部類被認為是外部對象的一個成員。在定義內部類時,我們同樣有存取權限控制(public, private, protected)。
在使用內部類時,我們要先建立外部對象。由於內部類是外部對象的一個成員,我們可以在對象的內部自由使用內部類:
public class Test { public static void main(String[] args) { Human me = new Human("Vamei"); me.drinkWater(0.3); } } class Human { /** * inner class */ private class Cup { public void useCup(double w) { this.water = this.water - w; } public double getWater() { return this.water; } private double water = 1.0; } /** * constructor */ public Human(String n) { this.myCup = new Cup(); this.name = n; } public void drinkWater(double w) { myCup.useCup(w); System.out.println(myCup.getWater()); } private Cup myCup; private String name; }
查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/Java/