instanceof运算符

来源:互联网 发布:网络暴力的现状 编辑:程序博客网 时间:2024/06/06 06:51

instance是java的二元运算符,用来判断他左边的对象是否为右面类(接口,抽象类,父类)的实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
interfaceA{
     
}
classimplementsA{
      
}
classextendsB{
      
}
publicclass Iinstanceof {
 
    publicstatic void main(String[] args) {
        A ab=newB();
        A ac=newC();
        B bc=newC();
        B bb=newB();
        C cc=newC();
        //对象实现一个接口,用这个对象和这个接口进行instanceof判断,都为true。
        System.out.println("ab instanceof A="+(ab instanceofA));
        System.out.println("ac instanceof A="+(ac instanceofA));
        System.out.println("bc instanceof A="+(bc instanceofA));
        System.out.println("bb instanceof A="+(bb instanceofA));
        System.out.println("cc instanceof A="+(cc instanceofA));
        //对象和父类进行instanceof判断,都为true
        System.out.println("ab instanceof B="+(ab instanceofB));
        System.out.println("ac instanceof B="+(ac instanceofB));
        System.out.println("bc instanceof B="+(bc instanceofB));
        System.out.println("bb instanceof B="+(bb instanceofB));
        System.out.println("cc instanceof B="+(cc instanceofB));
        //对象和他的子类进行instanceof判断为false
        System.out.println("ab instanceof C="+(ab instanceofC));
        System.out.println("ac instanceof C="+(ac instanceofC));
        System.out.println("bc instanceof C="+(bc instanceofC));
        System.out.println("bb instanceof C="+(bb instanceofC));
        System.out.println("cc instanceof C="+(cc instanceofC));
    }
}
程序输出: 
ab instanceof A=true 
ac instanceof A=true 
bc instanceof A=true 
bb instanceof A=true 
cc instanceof A=true 
ab instanceof B=true 
ac instanceof B=true 
bc instanceof B=true 
bb instanceof B=true 
cc instanceof B=true 
ab instanceof C=false 
ac instanceof C=true 
bc instanceof C=true 
bb instanceof C=false 
cc instanceof C=true

0 0
原创粉丝点击