Java 向下類型轉(zhuǎn)換示例
向下類型轉(zhuǎn)換示例
向下類型轉(zhuǎn)換與向上類型轉(zhuǎn)換動作相反,是指將父類對象引用轉(zhuǎn)換為子類對象引用。這種轉(zhuǎn) 換通常會出現(xiàn)問題,因為很明顯子類中的內(nèi)容可能并不存在于父類中,如果直接將父類對象引用 賦值為子類定義的變量,程序會編譯失敗,即父類的對象并不一定是子類的對象。因此,向下類 型轉(zhuǎn)換總是伴隨著向上類型轉(zhuǎn)換一起出現(xiàn)的。
//向下類型轉(zhuǎn)換示例——父類
public class ParentClass {
public void print() {
System.out.println("父類方法");
}
}
//向下類型轉(zhuǎn)換示例——子類
public class ChildClass extends ParentClass{
public void childMethod() {
System.out.println("只在子類中定義的方法");
}
public static void main(String[] args) {
ChildClass child = new ChildClass();//向上類型轉(zhuǎn)換
child.print();
ChildClass childClass =(ChildClass)child;//強制向下類型轉(zhuǎn)換
child.print();
childClass.childMethod();
}
}
點擊加載更多評論>>