通過乙個題來解釋:
在第乙個包中建立乙個至少有乙個方法的介面。然後在第二個包內建立乙個類,在其中增加乙個protected的內部類以實現那個介面。在第三個包中,繼承這個類,並在乙個方法中返回該protected內部類的物件,在返回的時候向上轉型為第乙個包中的介面的型別。
下面是程式:
packagepackage1;/*** created by xdlichen on 9/6/2015.
*/public inte***cea
packagepackage2;importpackage1.a;
/*** created by xdlichen on 9/6/2015.
*/public classb
}publica a()
}
packagepackage3;importpackage1.a;
importpackage2.b;
/*** created by xdlichen on 9/6/2015.
*/public classcextendsb
}
內部類向上轉型為介面
內部類向上轉型為介面 如果將乙個許可權修飾符為private的內部類向上轉型為其父類物件,或者直接向上轉型為乙個介面,在程式中就可以完全隱藏內部類的具體實現過程。可以在外部提供乙個介面,在介面中宣告乙個方法。如果在實現該介面的內部類中實現該介面的方法,就可以定義多個內部類以不同的方式實現介面中的 同...
從頭認識java 8 4 內部類與向上轉型
這一章節我們來討論一下內部類與向上轉型。跟普通的類一樣,內部類也可以實現某個介面然後向上轉型。為什麼?因為這樣能夠更好的隱藏實現的細節,基本其他程式設計師使用繼承來擴充套件介面和方法都不能訪問相關實現。package com.ray.ch03 public class test public per...
向上轉型與向下轉型
子類引用的物件轉換為父類型別稱為向上轉型。通俗地說就是是將子類物件轉為父類物件。此處父類物件可以是介面。向上轉型就是具體類向抽象類的轉換。語法 父類 物件 new 子類 例如 animal hern new dog 向上轉型 注意 1 向上轉型時,子類單獨定義的方法會丟失。2 子類引用不能指向父類物...