引用类型的转换 java,java中引用类型的强制转换
public?class?TestPerson?{
public?static?void?main(String[]?args)?{
//?向上類(lèi)型轉(zhuǎn)換,正常運(yùn)行
Animal?a?=?new?Cat();
a.show();
//?向下類(lèi)型轉(zhuǎn)換,正常運(yùn)行
Animal?cat?=?new?Cat();
Cat?cat2?=?(Cat)?cat;
cat2.show();
//?運(yùn)行時(shí)異常
Cat?cat3?=?(Cat)?new?Animal();
cat3.show();
//?正常運(yùn)行
Cat?cat4?=?(Cat)?getAnimal(a);
cat4.show();
//?運(yùn)行異常
Cat?cat5?=?(Cat)?getAnimal();
cat4.show();
}
public?static?Animal?getAnimal(Animal?a)?{
return?a;
}
public?static?Animal?getAnimal()?{
return?new?Animal();
}
}
class?Animal?{
public?void?show()?{
System.out.println("Animal");
}
}
class?Cat?extends?Animal?{
public?void?show()?{
System.out.println("Cat");
}
}
我的疑惑是:明明都是強(qiáng)制轉(zhuǎn)換,為什么有的會(huì)報(bào)異常,有的卻可以正常進(jìn)行?主要是異常的部分。
注:我能理解向上類(lèi)型轉(zhuǎn)換以及向下類(lèi)型轉(zhuǎn)換正常運(yùn)行的代碼,只是不理解那些異常的代碼。
請(qǐng)大神講解,感激不盡
總結(jié)
以上是生活随笔為你收集整理的引用类型的转换 java,java中引用类型的强制转换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: matlab怎么在c 中调用,在C中调用
- 下一篇: 随机密码php,PHP会生成随机密码