码迷,mamicode.com
首页 > 其他好文 > 详细

instanceof 和isinstance的区别

时间:2018-08-20 21:54:52      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:[]   的区别   null   extend   ring   getc   sys   main   eof   

class A {}
class B extends A {}
class C extends A {}

public class Test {

    public static void main(String[] args) {
        A a = new A();
        B b = new B();
        C c = new C();
        
        //静态比较,类型必须在编译的时候知道
        //判断对象是不是类或者其子类的实例
        System.out.println(a instanceof A);//true
        System.out.println(a instanceof B);//false
        System.out.println(c instanceof A);//true
        System.out.println(null instanceof A);//false
        
        //动态比较,类型可以不知道,在运行时传入
        //判断对象是不是类或者其子类的实例
        System.out.println(a.getClass().isInstance(b));//true
        System.out.println(b.getClass().isInstance(a));//false
        System.out.println(a.getClass().isInstance(null));//false
        

    }

}

instanceof 和isinstance的区别

标签:[]   的区别   null   extend   ring   getc   sys   main   eof   

原文地址:https://www.cnblogs.com/jiangwenwen1/p/9507942.html

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