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