1.对象1 instanceof 类2 实际当中,对象1是不是属于类2
2.基类引用变量,可以指向子类对象,但是 只能访问基类中的成员以及方法,要访问子类中新增加的成员以及方法,得把该引用对象强制转换成子类对象。
这样,有以下的好处:
(1)当父类中派生出很多子类,而需要针对每个子类进行单独处理,这时候如果没有该机制,就得针对每个子类做一个方法。有了该机制
即可只用一个方法,在该方法中,传入父类引用,判断该引用是哪个子类,然后强制转换成该子类,就可以了.。
public class Animal{ }
public class Bird exdents Animal{ }
public class Dog exdents Animal{ }
方法名(Animal a){
if(a instanceof Bird ){
Bird bird=(Bird)a;
}
else if(a instanceof Dog ){
Dog bird=(Dog)a;
}
}
使用
Animal animal=new bird();
方法名(animal) ;