這一章節我們來討論一下內部類與向上轉型。
跟普通的類一樣,內部類也可以實現某個介面然後向上轉型。
為什麼?
因為這樣能夠更好的隱藏實現的細節,基本其他程式設計師使用繼承來擴充套件介面和方法都不能訪問相關實現。
package com.ray.ch03;
public class test
} public person getperson()
public static void main(string args)
}inte***ce canrun
上面的**通過了介面,完全隔絕了實現與介面的依賴,完全隱藏了實現的細節。
上面的**即便我通過繼承test來擴充套件,但是由於test所有的實現方法都是private的,因此,是不會有任何重寫的方法。
package com.ray.ch03;
public class test
} public person getperson()
public static void main(string args)
}class mytest extends test
inte***ce canrun
我們再來看乙個例子:
package com.ray.ch03;
public class test
} public ship destination()
public static void main(string args)
}class mytest extends test
inte***ce destination
總結:這一章節主要討論了內部類與向上轉型,通過介面把實現完全隱藏起來。
這一章節就到這裡,謝謝。目錄
從頭認識java 8 6 匿名內部類
這一章節我們來討論一下匿名內部類。我們之前已經提到了內部類,如下 package com.ray.ch03 public class test private mytest mytest public static void main string args inte ce mytest 上面的內部...
Java內部類與匿名內部類
定義在類中方法之外的內部類分為例項內部類和靜態內部類.例項內部類自動持有外部類的例項的引用,即可以訪問外部類的所有變數 靜態內部類可以直接訪問外部類的靜態成員 定義在方法中的內部類叫區域性內部類,該類只能訪問被final修飾的區域性變數和引數 介面定義如下 inte ce super 例子1 pub...
Java 內部類與匿名內部類
一.內部類 內部類是指包含在類中的類,也稱為 巢狀類 包含內部類的類稱為外部類,內部類可看做外部類的成員類。class outer inner in new inner 建立內部類物件 in.seeouter 呼叫內部類成員方法 public static void main string args...