class Dog extends Animal
譬如dog定義了自己的方法wangwang
Animal anAnimal = new Dog();
此時不能直接調用anAnimal.wangwang方法
但是可以
if( anAnimal instanceof Dog){
Dog dog = (Dog)anAnimal;
dog.wangwang就可以調用了
Dog dog = (Dog)anAnimal;這個是什麼用法?
就是對象的強轉呗:
Animal anAnimal = new Dog();
這個是父類的引用指向了子類的對象,從父類的角度看是沒有wangwang方法的,所以你點不出來。
但是實際上new Dog(),他得到的是Dog的對象。(Dog)anAnimal可以把父類的聲明強轉成子類對象,進行調用。