多态使用时,父类多态时需要使用子类特有对象。需要判断 就使用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();
}
}

}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM