我是靠谱客的博主 土豪星星,最近开发中收集的这篇文章主要介绍Class的isAssignableFrom详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部