isAssignableFrom方法的功能简介说明
转发:
isAssignableFrom方法具有什么功能呢?
下文笔者讲述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
从以上代码上可以看出C继承于BB继承于A 那么任何一个类都可以isAssignableFrom其本身 父类可以由子类装换而来也是没有问题的 所以A可以由B装换而来,同时也可以由子类的子类转换而来 例:接口的实现关系
interface InterfaceA{
}class ClassB implements InterfaceA{}
class ClassC implements InterfaceA{}
class ClassD extends ClassB{}
public class InterfaceTest {public static void main(String[] args) {System.out.println(InterfaceA.class.isAssignableFrom(InterfaceA.class));System.out.println(InterfaceA.class.isAssignableFrom(ClassB.class));System.out.println(InterfaceA.class.isAssignableFrom(ClassC.class));System.out.println(ClassB.class.isAssignableFrom(ClassC.class));System.out.println("============================================");System.out.println(ClassB.class.isAssignableFrom(ClassD.class));System.out.println(InterfaceA.class.isAssignableFrom(ClassD.class));}
}
输出结果如下:true
true
true
false
============================================
true
true
B实现了接口A D继承了B 实际上D是可以上转为A接口的 相当于D间接实现了A 这里也说明了一点 其实继承关系和接口实现关系 在isAssignableFrom()的时候是一样的
isAssignableFrom:是用来判断子类和父类的关系的,或接口的实现类和接口的关系的默认所有的类的终极父类都是Object 当A.isAssignableFrom(B)结果是true,则说明B可以转换成为A,也就是A可以由B转换而来
isAssignableFrom方法的功能简介说明相关推荐
- Java中System.exit()方法的功能简介说明
转自: Java中System.exit()方法的功能简介说明 下文笔者讲述java代码中System.exit()方法的功能简介说明,如下所示: Java中System.exit()方法功能:此方法 ...
- 免费的企微运营利器-企客加(企客加功能简介、安装方法)
企客加-私域运营系统:是一款基于企业微信开发的应用系统,企客加是企业微信官方授权服务商,是中智融合的核心产品之一. 帮助企业搭建集裂变获客.留存促活.销售转化.客户管理于一体的私域增长闭环营销系统,已 ...
- Java中Random.nextInt()方法功能简介说明
转自: Java中Random.nextInt()方法功能简介说明 下文笔者将讲述Random.nextInt()方法的功能简介说明,如下所示: Random.nextInt()方法功能:用于随机产生 ...
- Java OutputStream.write()的功能简介说明
转自: Java OutputStream.write()的功能简介说明 下文讲述java中OutputStream.write()方法的功能简介说明,如下所示: OutputStream.write ...
- BCP功能简介及调试方法之三
BCP功能简介及调试方法 1. BCP简介 BCP是最近研究的一个网络协议,主要是基于PPP链路,能够把双方子网的网络桥接. BCP全称: Point-to-Point Protocol (P ...
- python isnumeric函数用法_Python中isnumeric()方法的使用简介
Python中isnumeric()方法的使用简介 更新时间:2015年05月19日 09:35:06 投稿:goldensun 这篇文章主要介绍了Python中isnumeric()方法的使用,is ...
- 【Android 逆向】代码调试器开发 ( 代码调试器功能简介 | 设置断点 | 读写内存 | 读写寄存器 | 恢复运行 | Attach 进程 )
文章目录 一.代码调试器功能简介 二.Attach 进程 一.代码调试器功能简介 代码调试器功能 : 设置断点 : 无论什么类型的调试器 , 都必须可以设置断点 , 运行到断点处 , 挂起被调试进程 ...
- Arduino终于支持代码补全了!小白们终于可以愉快的写代码了!Arduino IDE 2.0beta功能简介...
Arduino终于支持代码补全了!小白们终于可以愉快的写代码了!Arduino IDE 2.0beta功能简介 前一段时间听到有人说Arduino的IDE特别不好用,功能太单一,最重要的是没有代码补全 ...
- MKL学习——功能简介
基本术语 BLAS : Basic Linear Algebra Subprograms 基本线性代数子程序 BLACS : Basic Linear Algebra Communication Su ...
最新文章
- 去除导航栏的背景色和底部1像素黑色线条or隐藏导航栏
- UVa 1368 - DNA Consensus String
- 歌星大奖赛C语言程序,C_歌星大奖赛
- 简述运行PHP文件的步骤,简述PHP运行机制
- 1.极限——ε-δ例子_7
- 软件工程学习进度第六周暨暑期学习进度之第六周汇总
- wsimport命令讲解
- Ajax02 什么是json、json语法、json的使用、利用jQuery实现ajax
- 安川ga700变频器故障码集_安川变频器故障代码
- 计算机休眠期死机,电脑休眠状态频繁死机怎么处理
- python打印日历_用Python打印某年日历
- 【计算机网络】计网学习——总览(超多图+超详解)
- 变身后是一只火鸟的机器人_中生代机器人 第一章 丛林求生历险记 05 (05)一-望书阁...
- 使用XMind 打开MindManager 格式文件(.mmap)
- 威联通ts 532x 篇七 修改shell 命令行 为 zsh + oh-my-zsh
- 形函数的构造原理-有限元形函数的几个种类
- datastage配置oracle,配置datastage与oracle 10g连接
- 黑客攻防技术宝典-Web实战篇——第二章、核心防御机制(一)
- AD17原理图导出PDF异常-PIN脚网络丢失解决方法
- 中国各省市编号(具体到二级市、区、县)