码迷,mamicode.com
首页 > 编程语言 > 详细

java :instanceof用法

时间:2017-09-15 10:59:41      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:interface   alt   this   报错   name   main   contain   att   snippet   

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

}
技术分享技术分享

输出结果: 
技术分享

java :instanceof用法

标签:interface   alt   this   报错   name   main   contain   att   snippet   

原文地址:http://www.cnblogs.com/dengyungao/p/7525148.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!