java中的instanceof的用法

instanceof运算符用法

  • 运算符是双目运算符,左面的操作元是一个对象,右面是一个类.当
  • 左面的对象是右面的类创建的对象时,该运算符运算的结果是true,否则是false
  • 例如 a instanceof A
    如果a是类A的实例,就返回true,否则的话,就返回false。
interface A{    

}    
class B implements A{    

}    
class C extends B{    

}    
public class Iinstanceof {    

    public static void main(String[] args) {    
        A ab=new B();    
        A ac=new C();    
        B bc=new C();    
        B bb=new B();    
        C cc=new C();    
        //对象实现一个接口,用这个对象和这个接口进行instanceof判断,都为true。    
        System.out.println("ab instanceof A="+(ab instanceof A));    
        System.out.println("ac instanceof A="+(ac instanceof A));    
        System.out.println("bc instanceof A="+(bc instanceof A));    
        System.out.println("bb instanceof A="+(bb instanceof A));    
        System.out.println("cc instanceof A="+(cc instanceof A));    
        //对象和父类进行instanceof判断,都为true    
        System.out.println("ab instanceof B="+(ab instanceof B));    
        System.out.println("ac instanceof B="+(ac instanceof B));    
        System.out.println("bc instanceof B="+(bc instanceof B));    
        System.out.println("bb instanceof B="+(bb instanceof B));    
        System.out.println("cc instanceof B="+(cc instanceof B));    
        //对象和他的子类进行instanceof判断为false    
        System.out.println("ab instanceof C="+(ab instanceof C));    
        System.out.println("ac instanceof C="+(ac instanceof C));    
        System.out.println("bc instanceof C="+(bc instanceof C));    
        System.out.println("bb instanceof C="+(bb instanceof C));    
        System.out.println("cc instanceof C="+(cc instanceof C));    
    }    
}    

[java] view plain copy
//程序输出:  
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  

部分转自:
http://blog.csdn.net/cnmilan/article/details/41696093
http://blog.csdn.net/cntanghai/article/details/6096976
https://zhidao.baidu.com/question/1175062948955268939.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值