isAssignableFrom方法具有什么功能呢?

isAssignableFrom方法具有什么功能呢?

转发:

http://www.java265.com/JavaCourse/202205/3348.html

下文笔者讲述isAssignableFrom()方法的功能简介说明

isAssignableFrom()方法简介

isAssignableFrom()方法:
       这是一个native方法,他是Class类对象中的一个方法
isAssignableFrom()方法的功能:
       用于检测一个类是否继承于一个类
例:
 A.isAssignableFrom(B)
 确定一个类(B)是不是继承来自于另一个父类(A)
 一个接口(A)是不是实现了另外一个接口(B)或两个类相同
父子继承关系测试
class A{
}
class B extends A{
}
class C extends B{
}
public class test {
    public static void main(String[] args) {
        A a = new A();
        B b = new B();
        B b1 = new B();
        C c = new C();
        System.out.println(a.getClass().isAssignableFrom(a.getClass()));
        System.out.println(a.getClass().isAssignableFrom(b.getClass()));
        System.out.println(a.getClass().isAssignableFrom(c.getClass()));
        System.out.println(b1.getClass().isAssignableFrom(b.getClass()));

        System.out.println(b.getClass().isAssignableFrom(c.getClass()));

        System.out.println("=====================================");
        System.out.println(A.class.isAssignableFrom(a.getClass()));
        System.out.println(A.class.isAssignableFrom(b.getClass()));
        System.out.println(A.class.isAssignableFrom(c.getClass()));

        System.out.println("=====================================");
        System.out.println(Object.class.isAssignableFrom(a.getClass()));
        System.out.println(Object.class.isAssignableFrom(String.class));
        System.out.println(String.class.isAssignableFrom(Object.class));
    }
}
运行结果如下:

true
true
true
true
true
=====================================
true
true
true
=====================================
true
true
false
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » isAssignableFrom方法具有什么功能呢?