instanceof  :  java 的关键字 判断一个 实例对象 是不是 可以赋值 给一个 class(  实例对象是不是 class 或者 subClass 的实现 ),表示的类和对象之间的关系。

System.out.println( user instanceof User );
		System.out.println( user instanceof Object );
		System.out.println( new Object() instanceof User );
  • 1.
  • 2.
  • 3.

  结果:

true
true
false
  • 1.
  • 2.
  • 3.

  

 

 

 

isInstance:和上面一个一样 只是 一个是关键字 一个是方法,表示的类和对象之间的关系。

System.out.println( User.class.isInstance( user )  );
        System.out.println( Object.class.isInstance( user )  );
        System.out.println( User.class.isInstance( new Object() )  );
  • 1.
  • 2.
  • 3.

结果:

true
true
false
  • 1.
  • 2.
  • 3.

 

 

 

 

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 )  );
  • 1.
  • 2.
  • 3.

  结果:

true
true
false
  • 1.
  • 2.
  • 3.