instanceof操作符
instanceof操作符
instanceof操作符号是干什么的呢?
判断对象与类的关系,像DNA鉴定一样。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
class Car {
public void run() {
System.out.println("car running");
}
}
class Bus extends Car {
public static void main(String[] args) {
Bus b = new Bus();
}
}
class Test {
public static void main(String[] args) {
Car car = new Car();
Bus bus = new Bus();
if(car instanceof Car) {
System.out.println("car is Car's instance");
}
if(bus instanceof Bus) {
System.out.println("bus is Bus's instance");
}
if(bus instanceof Car) {
System.out.println("bus is Car's instance");
}
if(car instanceof Bus) {
System.out.println("car is Car's instance");
}else {
System.out.println("car isn't Bus's instance");
}
Car c = new Car();
Bus b = new Bus();
c = b; // 将Bus对象的引用赋值给变量c
if(b instanceof Bus) {
System.out.println("b is Bus's instance");
}
if(c instanceof Bus) {
System.out.println("c is Bus's instance");
}
if(b instanceof Car) {
System.out.println("b is Car's instance");
}
}
}