Java的instanceof用法

instanceof的作用是判断左面的对象是否是右面类的实例
1.instanceof是一个双目运算符,该运算符与“==”,“>”等类似,该运算符左面是一个实例化的对象,右面是类。
2.当左面的对象是右面类创建的对象时,既是左面的对象是右面类的实例,返回true,否则返回false。
示例:

Animal类:

public class Animal {
public String weight;
public String height;
public String getWeight() {
    return weight;
}
public void setWeight(String weight) {
    this.weight = weight;
}
public String getHeight() {
    return height;
}
public void setHeight(String height) {
    this.height = height;
}
}

Cat类:

public class Cat extends Animal {
public String  paw;
public String getPaw() {
    return paw;
}
public void setPaw(String paw) {
    this.paw = paw;
	 }
}

Rabbit类:

public class Rabbit extends Animal{
}

Rose类:

public class Rose extends Rabbit {
}

Main:

public class Main {
public static void main(String[] args){
    Cat cat = new Cat();
    Rose rose = new Rose();
    Boolean in = cat instanceof  Cat;
    System.out.println("cat是Cat的实例: "+in);

    Boolean in1 = cat instanceof Animal;
    System.out.println("cat是Animal的实例: "+in1);

    Boolean in2 = rose instanceof Animal;
    System.out.println("rose是Animal的实例: "+in2);

    Rose rose1 = null;
    Boolean in3 = rose1 instanceof  Rose;
    System.out.println("rose(null)是Rose的实例 :"+in3);
}
}

返回结果:

cat是Cat的实例true
cat是Animal的实例true
rose是Animal的实例true
rose(null)是Rose的实例false
发布了54 篇原创文章 · 获赞 13 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/liutaiyi8/article/details/100765130
今日推荐