语法
a(对象) instanceof A(类类型): 检验对象a是否是否是类A的实例化对象,是返回true,否则返回false;(注:若B为A父类则同样返回true)
运用场景
通常在进行强制类型转化时,防止出现异常,规避强制转换的风险;
实例
public class InstanceofTest {
public static void main(String[]arge) {
Person person=new Man();
if(person instanceof Woman) {
Woman woman=(Woman)person;
woman.hobby();
}
if(person instanceof Man) {
Man man=(Man)person;
man.hobby();
}
}
}
class Person{
public void hobby() {
System.out.println("爱好");
}
}
class Man extends Person{
public void hobby() {
System.out.println("健身");
}
public void talent() {
System.out.println("美");
}
}
class Woman extends Person{
public void hobby() {
System.out.println("化妆");
}
public void dower() {
System.out.println("帅");
}
}
//运行结果:健身