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


