java中的instanceof的用法

来源:互联网 发布:广州白云行知职业技术学校 编辑:程序博客网 时间:2024/06/03 13:44

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