Java判断类和实例的关系
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。
欢迎跳转到本文的原文链接:https://honeypps.com/java/relationship-of-java-class-and-instance/
通常我们使用instanceOf关键字来判断一个对象是否是类的实例,最近博主看到isInstance关键字,不解与instanceOf的区别,故度娘了一下,顺便涨了一下姿势。
Java中判断类和实例的关系有3个关键字:instanceof, isInstance以及isAssignableFrom.
- instanceof:用来判断对象是否是类的实例
- isInstance:用来判断对象是否属于某个类型的实例
- isAssignableFrom:用来判断类型间是否存在派生关系
看完上面的解释,是否还在云里雾里?
下面来详细说明一下。
instanceof运算符 只被用于对象引用变量,检查左边的被测试对象 是不是 右边类或接口的 实例化。如果被测对象是null值,则测试结果总是false。
形象地描述为:自身实例或子类实例 instanceof 自身类 返回true
例:
String s=new String("javaisland");
System.out.println(s instanceof String); //true
Class类的isInstance(Object obj)方法,obj是被测试的对象,如果obj是调用这个方法的class或接口 的实例,则返回true。这个方法是instanceof运算符的动态等价。
形象地描述为:自身类.class.isInstance(自身实例或子类实例) 返回true
例:
String s=new String("javaisland");
System.out.println(String.class.isInstance(s)); //true
Class类的isAssignableFrom(Class cls)方法,如果调用这个方法的class或接口 与 参数cls表示的类或接口相同,或者是参数cls表示的类或接口的父类,则返回true。
形象地描述为:自身类.class.isAssignableFrom(自身类或子类.class) 返回true
例:
System.out.println(ArrayList.class.isAssignableFrom(Object.class)); //false
System.out.println(Object.class.isAssignableFrom(ArrayList.class)); //true
欢迎跳转到本文的原文链接:https://honeypps.com/java/relationship-of-java-class-and-instance/
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。
Java判断类和实例的关系相关推荐
- java判断实例_java判断类和实例的关系
1.instanceOf关键字,用来判断对象是否是类的实例 2.isAssignableFrom,用来判断类型间是否存在派生关系 3.isInstance方法,用来判断对象是否属于某个类型的实例 pa ...
- java语言类间继承关系是,Java语言类间的继承关系是( )。
Java语言类间的继承关系是( ). 更多相关问题 [判断题] 持有OPEN票的游客不需要机票的确认,可直接按票面时间去机场乘坐飞机.() [填空题] 导游服务性质是().().().().() ...
- 判断类之间的父子关系
如何判断两个类之间的父子关系? java为我们提供了instanceof运算符,可以用来判断一个对象是否是否个类的实例,所以很容易的想到子类的对象肯定是父类的实例.但是如何所涉及到的类是不可实例化的该 ...
- [Java基础]类和接口的关系
类和接口的关系:
- Java BigInteger类| 带实例的splitAndRemainder()方法
BigInteger类divideAndRemainder()方法 (BigInteger Class divideAndRemainder() method) divideAndRemainder( ...
- MySQL字段类型与Java实体类类型对应转换关系
MySQL Connector/J( MySQL官方JDBC驱动程序)在处理MySQL数据类型和Java数据类型之间的转换方面非常灵活. 通常,任何MySQL数据类型都可以转换为java.lang.S ...
- Java多类合作实例1汽车和修理厂
实例1 先分析后下代码,先完成汽车类的分析 汽车: 可以看做是一个类 成员变量: 名字 颜色 轮胎个数 成员方法: 飙车 飙车有要求,轮胎个数必须是4个 该方法是需要一个汽车类的对象 修理厂 可以看做 ...
- 18、Java面向对象——类和对象的关系及应用、对象数组的应用
目录 课前先导: 一.什么是类? 二.类的创建 三.什么是对象? 四.对象的创建.赋值:方法的调用 五.定义类和对象的三种方法 六.对象数组 七.来了,你们要的对象 课前先导: 在刚开始学习java的 ...
- java 长方体类_java实例_多态 [长方形类Rect长方体类Cub添加抽象类 Shape]
代码实现 package Lab6; import java.util.Scanner; abstract class shape { public abstract double area(); p ...
最新文章
- 一次幸运的集群操作与修复经历
- .NET中的OleDb,Odbc的Parameters
- 《BI那点儿事》三国人物智力分布状态分析
- java dataurl_java url参数去重
- MySQL调用存储过程
- 如何让 zend studio 10 识别 Phalcon语法并且进行语法提示
- Koa / Co / Bluebird or Q / Generators / Promises / Thunks 的相互关系
- TreeSet集合中的自定义比较器
- 基于GDAL库,读取海洋风场数据(.nc格式)c++版
- synchronized和ReentrantLock区别,用新的lock有什么好处?举例说说
- 数据结构与算法分析c++第四版_数据结构与算法 - 时空复杂度分析
- 信息学奥赛一本通 1039:判断数正负 | OpenJudge NOI 1.4 01
- 剑指offer——判断树的子结构
- RabbitMq下载和安装linuxcenteros安装
- epoll原理_Epoll源码阅读手札
- python识别颜色1007python识别颜色_python读取word文档识别字段颜色,解析字段
- Python day 3 (3) 判断与循环
- Vue+Webpack打造todo应用
- 良心安利Unity3D U3D游戏源码素材网站
- 叶俊应浙江警官学院的邀请讲授《司法警官的心理调试实用策略》
热门文章
- php 微信机器人_微信小程序机器人自动客服功能
- 020303阶段三 I/O复用 select和epoll的文件描述符管理
- Handler 源码解析(Java 层)
- linux 压缩及解压缩 命令
- HBase Replication源码解析之HLog读取
- bootstrap之排版类
- Android ViewPager
- linux之Vim使用
- 表现层(jsp)、持久层(类似dao)、业务层(逻辑层、service层)、模型(javabean)、控制层(action)...
- windows下如何github ssh 公钥