instanceof : java 的关键字 判断一个 实例对象 是不是 可以赋值 给一个 class( 实例对象是不是 class 或者 subClass 的实现 ),表示的类和对象之间的关系。
System.out.println( user instanceof User ); System.out.println( user instanceof Object ); System.out.println( new Object() instanceof User );
结果:
true true false
isInstance:和上面一个一样 只是 一个是关键字 一个是方法,表示的类和对象之间的关系。
System.out.println( User.class.isInstance( user ) ); System.out.println( Object.class.isInstance( user ) ); System.out.println( User.class.isInstance( new Object() ) );
结果:
true true false
isAssignableFrom:方法 ,这个和上面2 个不一样,上面两个是判断的 对象和 类之间的关系,这个是判断的类和类之间的关系。表示 一个类 的实例是否可以赋值给前面的 类。
System.out.println( User.class.isAssignableFrom( User.class ) ); System.out.println( Object.class.isAssignableFrom( User.class ) ); System.out.println( User.class.isAssignableFrom( Object.class ) );
结果:
true true false