java如何交換a和b的值 JAVA中A a = new B()什么意思?
JAVA中A a = new B()什么意思?A A=new b()實例化一個子類對象A。這是一個典型的多態(tài)性,相當(dāng)于:animal A=new dog();//這是一個向上的轉(zhuǎn)換A.phonenat
JAVA中A a = new B()什么意思?
A A=new b()實例化一個子類對象A。這是一個典型的多態(tài)性,相當(dāng)于:animal A=new dog();//這是一個向上的轉(zhuǎn)換A.phonenation()//對象A可以在animals中使用phonenation()或其他方法,但不能調(diào)用dog方法。A=new A()實例化父類的對象,動物A=new dog();dog B=(dog)A;//這里是向下的轉(zhuǎn)換。此時,B可以調(diào)用尚未重寫的animal類的方法,dog類的所有方法(包括重寫animal類的方法)和向上的轉(zhuǎn)換都將成功。它是安全的。就像說狗是動物一樣。沒問題。但是通過B,如果調(diào)用animal或dog類中的任何方法,它都會報告異常,也就是說向下轉(zhuǎn)換可能會出錯。不能說動物是狗