概述
1:方法介绍
isAssignableFrom
方法是java.lang.Class
类中的一个native方法,如下:
java.lang.Class#isAssignableFrom
public native boolean isAssignableFrom(Class<?> cls);
当前Class对象如果是参数Class对象的父类,父接口,或者是相同,都会返回true
。
2:具体使用
父类:
public class FatherCls {
}
2.1:和自己比较
- 测试
// 同类型的情况
FatherCls fatherClsInstance = new FatherCls();
System.out.println("同类型测试:");
System.out.println(FatherCls.class.isAssignableFrom(fatherClsInstance.getClass()));
- 输出
同类型测试:
true
2.2:和自己儿子比较
- 定义子类
public class FatherSonCls extends FatherCls {
}
- 测试代码
FatherSonCls fatherSonClsInstance = new FatherSonCls();
System.out.println("测试自己的子类");
System.out.println(FatherCls.class.isAssignableFrom(fatherSonClsInstance.getClass()));
- 测试输出
测试自己的子类
true
2.3:和自己儿子的儿子比较
- 定义儿子的儿子
public class FatherSonSonCls extends FatherCls {
}
- 测试代码
System.out.println("测试自己子类的子类");
FatherSonSonCls fatherSonSonClsInstance = new FatherSonSonCls();
System.out.println(FatherCls.class.isAssignableFrom(fatherSonSonClsInstance.getClass()));
- 测试输出
测试自己子类的子类
true
2.4:和自己父类比较
- 测试代码
System.out.println("测试自己父类");
FatherCls fatherCls1Instance = new FatherCls();
System.out.println(FatherSonCls.class.isAssignableFrom(fatherCls1Instance.getClass()));
- 测试输出
测试自己父类
false
2.5:和自己没有关系的比较
- 测试代码
System.out.println("测试没有任何关系的类");
OtherCls otherClsInstance = new OtherCls();
System.out.println(FatherCls.class.isAssignableFrom(otherClsInstance.getClass()));
- 测试输出
测试没有任何关系的类
false
最后:都让开,我要喝瑞幸
最后
以上就是土豪星星为你收集整理的Class的isAssignableFrom详解的全部内容,希望文章能够帮你解决Class的isAssignableFrom详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复