Class.java # public native boolean isInstance(Object obj);
// true
System.out.println(childType.isInstance(childObject));
// true
System.out.println(parentType.isInstance(childObject));
// false
System.out.println(childType.isInstance(parentObject));
说明:
- 参数obj的参数类型若为.class,返回 false
- 当参数强转为调用者对象不会报异常时,返回true(即调用者为参数的类或父类)
Class.java#public native boolean isAssignableFrom(Class<?> cls);
调用者和参数都是.class类型;参数是调用者的子类时为true
// true
System.out.println(parentType.isAssignableFrom(childType));
- instance of 关键字 用法:
A isntance of B
:判断左边 对象是否是右边 类的实例;
@Test
public void test3() {
Child1 childObject = new Child1();
Parent1 parentObject = new Parent1();
// true
System.out.println(childObject instanceof Parent1);
// false
System.out.println(parentObject instanceof Child1);
}
Original: https://www.cnblogs.com/kongieg/p/15975557.html
Author: kongieg
Title: java 继承关系判断
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/586772/
转载文章受原作者版权保护。转载请注明原作者出处!