作用:判断一个对象是否属于一个类
格式:对象instanceof类 返回布尔类型
向下转型做判断
》》》》》》》》》》
public class Animal {
public void say(){
System.out.println("我是动物类");
}
}
》》》》》》》》》
public class Dog extends Animal {
public void say(){
System.out.println("我是一只狗");
}
public void eat1(){
System.out.println("我吃骨头");
}
}
》》》》》》》》》》
public class Cat extends Animal{
public void say(){
System.out.println("我是一只猫");
}
public void eat2(){
System.out.println("我吃鱼");
}
}
》》》》》》》》》》》》
public class Test {
/**
* @param args the command line arguments
*/
public static void doSomething(Animal animal){
animal.say();
if(animal instanceof Dog){
((Dog) animal).eat1();
}
if(animal instanceof Cat){
((Cat) animal).eat2();
}
}
public static void main(String[] args) {
Animal dog=new Dog();
System.out.println("dog对象是否属于Animal类:"+(dog instanceof Animal));
System.out.println("dog对象是否属于Dog类:"+(dog instanceof Dog));
System.out.println("dog对象是否属于Cat类:"+(dog instanceof Cat));
doSomething(new Dog());
doSomething(new Cat());
}
}