Java关键字instanceof

来源:互联网 发布:苹果手机主题软件 编辑:程序博客网 时间:2024/05/29 16:23

Java中的instanceof是用来判断某个实例是不是某个类的实例。 
例如:A instanceof B (A为某个实例,B为某个类名) 
如果A为B的实例,则:(A instanceof B)==true 反之==false 
代码举例:

package JavaKEYWORDS;class Bird{//父类}class BigBird extends Bird{//Bird的子类}class LittleBird extends Bird implements BirdFly{//Bird的子类加上BirdFly接口}interface BirdFly{}public class JavaKWinstanceof {    public static void main(String[] args) {        // TODO Auto-generated method stub        JavaKWinstanceof myThis=new JavaKWinstanceof();        Bird myBird=new Bird();        BigBird myBigBird=new BigBird();        LittleBird myLittleBird=new LittleBird();        //打印各实例与类之间的关系        prt(myThis instanceof JavaKWinstanceof);//打印结果:YES           prt(myBird instanceof Bird);//打印结果:YES          prt(myBigBird instanceof Bird);//打印结果:YES     子类实例出的对象也是父类的实例        prt(myBird instanceof BigBird);//打印结果:NO      父类实例出的对象不是子类的实例        prt(myLittleBird instanceof Bird);//打印结果:YES  子类加上其它接口后实例出的对象也是父类的实例        /*         * prt(myLittleBird instanceof BigBird);//编译报错  两个没有继承关系的类之间没有instanceof关系               * prt(1 instanceof int);//编译错误                    */    }    //判断及显示A是否为B的实例    static void prt(boolean A_is_instanceof_B){       if(A_is_instanceof_B){           System.out.println("YES");       }       else{           System.out.println("NO");       }    }}
  • 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
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 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
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

输出结果: 
这里写图片描述

原创粉丝点击