new 我() instanceof 你: 我是你爸爸
我.class.isAssignableFrom(你.class): 我是你儿子
class A{}
class B extends A{}
class C extends A{}
public class InstanceOf_isAssignableFrom {
public static void main(String[] args) {
A ab=new B();
// B ba=(B)new A();//报错
B ba=(B) ab;
B b=new B();
System.out.println(A.class.isAssignableFrom(B.class));
System.out.println(B.class.isAssignableFrom(A.class));
System.out.println(b instanceof A);
System.out.println(ab instanceof A);
System.out.println(ab instanceof B);
System.out.println(ba instanceof A);
System.out.println(ba instanceof B);
}
}
true
false
true
true
true
true
true