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