java判断类和实例的关系 instanceof、isInstance、isAssignableFrom

判断类与实例的关系有以下三种方式

1、instanceOf 关键字,用来判断对象是否是类的实例
2、isInstance方法,用来判断对象是否属于某个类型的实例
3、isAssignableFrom,用来判断类型间是否存在派生关系

先贴一下他们的使用方法和为true的情况

   // 用来判断A是否是B类的实例,比如 "a" instanceof String 这个返回就是true
   System.out.println(new A() instanceof B);//类型比较

   // 用来判断A类是否是B类的子类或者子接口,Object是所有类的父类
   // Object.class.isAssignableFrom(B.getClass()) 这个返回就是true
   System.out.println(B.class.isAssignableFrom(A.class));
 
   // 用来判断A是否是A类的实例,比如 自身类.class.isInstance(自身实例或子类实例) 这个返回就是true
   System.out.println(A.class.isInstance(new A()));

具体我就没有写方法验证了。

转载于:https://www.cnblogs.com/paul-lb/p/11344584.html

你可能感兴趣的:(java)