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(); } }}