instanceof 关键字的作用是:
instanceof关键字是用来判断一个类是不是指定的类型。同时instanceof关键字的使用前提是:被判定的对象和指定的类型要存在继承(extends)或实现关系。
instanceof 关键字的使用格式:
对象 instanceof 类名
instanceof 关键字的 要在初学者学到多态后,在类型的强制转换时的作用,若我们在使用类型的强制转换时不去判断的话,很容易使程序报错。
//动物类
class Animal{
String name;
String color;
public Animal(){
}
public Animal(String name,String color){
this.name=name;
this.color=color;
}
}
//狗类
class Dog extends Animal{
public Dog(String name,String color){
super(name,color);
}
}
//老鼠类
class Mouse extends Animal{
public Mouse(String name,String color){
super(name,color);
}
}
class Demo{
public static void main(String[] args){
Dog dog=new Dog("哈士奇","白色");
Animal a=new Animal("动物","动物色");
System.out.println("狗是属于狗类吗?"+(dog instanceof Dog)); //true
System.out.println("狗是属于狗类吗?"+(dog instanceof Animal)); //true
System.out.println("动物是够类吗?"+(a instanceof Dog));// false
// System.out.println((dog instanceof Mouse)); // 在这里会报错,不能这样写(因为instanceof 使用的前提是有继承或实现关系)
}
}