Java 向下類型轉(zhuǎn)換示例
向下類型轉(zhuǎn)換示例
向下類型轉(zhuǎn)換與向上類型轉(zhuǎn)換動(dòng)作相反,是指將父類對(duì)象引用轉(zhuǎn)換為子類對(duì)象引用。這種轉(zhuǎn) 換通常會(huì)出現(xiàn)問(wèn)題,因?yàn)楹苊黠@子類中的內(nèi)容可能并不存在于父類中,如果直接將父類對(duì)象引用 賦值為子類定義的變量,程序會(huì)編譯失敗,即父類的對(duì)象并不一定是子類的對(duì)象。因此,向下類 型轉(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;//強(qiáng)制向下類型轉(zhuǎn)換
child.print();
childClass.childMethod();
}
}
點(diǎn)擊加載更多評(píng)論>>