多态使用时,父类多态时需要使用子类特有对象。需要判断 就使用instanceof

instanceof:通常在向下转型前用于健壮性的判断,判断是符合哪一个子类对象

package Polymorphic;

public class TestPolymorphic {

public static void main(String[] args) {
cat c = new cat();
cat c2 = new cat();
c.eat();
// Animal d= new dog();
// d.eat();
// //这里就是弊端,不能用子类引用去调用子类特有的方法
//
// dog s = (dog)d;
// s.hj();

}
public void eat(Animal a){
a.eat();
//instanceof:用于判断对象的具体类型,只能用于引用数据类型判断
//如果a接收的是dog对象 则执行dog中的hj方法
if( a instanceof dog){
dog s = (dog)a;
s.hj();
}
}

}

上一篇:HDU-1213 How Many Tables(并查集模板题)


下一篇:Ubuntu加载移动硬盘