instanceof的用法

来源:互联网 发布:爱情动作片 知乎 编辑:程序博客网 时间:2024/05/26 19:18
instanceof运算符用法  * 运算符是双目运算符,左面的操作元是一个对象,右面是一个类.当  * 左面的对象是右面的类创建的对象时,该运算符运算的结果是true,否则是false  *   * 说明:(1)一个类的实例包括本身的实例,以及所有直接或间接子类的实例  * (2)instanceof左边操作元显式声明的类型与右边操作元必须是同种类或右边是左边父类的继承关系,  * (3)不同的继承关系下,编译出错  

实例:

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));        }    } 

输出结果:

    //程序输出:      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  
原创粉丝点击