多态使用时,父类多态时需要使用子类特有对象。需要判断 就使用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();
}
}
}
标签:子类,dog,cat,hj,public,多态,使用,eat 来源: https://www.cnblogs.com/liyunchuan/p/10665085.html