instanceof与isAssignableFrom

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


猜你喜欢

转载自blog.csdn.net/mbshqqb/article/details/79819273