Instanceof运算符

2019-05-17  本文已影响0人  御都

1 A instanceof B,结果为boolean.A通常是一个引用变量,B为类或者接口。如果A是B的一个实例对象或者B子类的实例对象,结果为true。
1.2 B为类时
A的运行时类型是B的子类或者就是B本身,运算结果为true。

public class Test {
    public static void main(String[] args) {
        Father f = new Father();
        Father f2 = new Son();
        System.out.println(f instanceof Father);//true
        //f的运行是类型Fther不是Son的子类
        System.out.println(f instanceof Son);//false
        //f2的运行是类型Son是Father的子类
        System.out.println(f2 instanceof Father);//true
        //f2的运行时类型Son,是Son本身类型
        System.out.println(f2 instanceof Son);//true
    }
}
class Father{
    
}
class Son extends Father{
    
}

1.3 B为接口
A的运行时类型为B接口的实现类或者B接口实现类的子类时,运算结果为true.

上一篇下一篇

猜你喜欢

热点阅读