JAVA的instanceOf什么时候用
我个人理解的一个应用场合就是,当你拿到一个对象的引用时(例如参数),你可能需要判断这个引用真正指向的类。所以你需要从该类继承树的最底层开始,使用instanceof操作符判断,第一个结果为true的类即为引用真正指向的类。例如下面的例子:
class Person{} class Student extends Person{}class Postgraduate extends Student{} class Animal{} public class InstanceofTester { public static void main(String[] args){instanceofTest(new Student()); }public static void instanceofTest(Person p) {// 判断p的真正类型 if (p instanceof Postgraduate) { System.out.println("p是类Postgraduate的实例"); }else if(p instanceof Student) {System.out.println("p是类Student的实例"); }else if(p instanceof Person) {System.out.println("p是类Person的实例"); }else if(p instanceof Object) {System.out.println("p是类Object的实例"); }/*if(p instanceof Animal) { //此错编译错误,所以做注释 System.out.println("p是类Animal的实例"); }*/ } }
这个程序的输出结果是:p是类Student的实例Person类所在的继承树是:Object<--Person<--Student<--Postgraduate。这个例子中还加入一个Animal类,它不是在Person类的继承树中,所以不能作为instanceof的右操作数。
转载于:https://www.cnblogs.com/fangchongyan/p/5044188.html
JAVA的instanceOf什么时候用相关推荐
- 深入Java关键字instanceof
深入Java关键字instanceof instanceof关键字用于判断一个引用类型变量所指向的对象是否是一个类(或接口.抽象类.父类)的实例. 举个例子: public interface ...
- java is instance of_详谈Java中instanceof和isInstance的区别
一次性搞定instanceof和isInstance,instanceof和isInstance长的非常像,用法也很类似,先看看这两个的用法: obj.instanceof(class) 也就是说这个 ...
- java中instanceof的用法和实战
https://blog.csdn.net/qq_37192800/article/details/78861387 https://www.cnblogs.com/zjxynq/p/5882756. ...
- 12 java中instanceof运算符的意义和用法
java中instanceof运算符的意义和用法 instanceof运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来标识该对象是否为特定类或者它的子类的一 ...
- Java关键字——instanceof
instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为: 1 boolean result = obj instanceof Class 其中 obj ...
- java:volatile,instanceof,strictfp关键字
volatile volatile是一个类型修饰符(type specifier),它是被设计用来修饰被不同线程访问和修改的变量.被volatile类型定义的变量,系统每次用到它时都是直接从对应的内存 ...
- Java中instanceof用法
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. 用法: re ...
- Java 子类 instanceof 父类
##1.结论: 子类 instanceof 父类 == true 父类 instanceof 子类 == false ##2.测试代码 @Testpublic void testInstanceof( ...
- java中instanceof使用详细介绍
instanceof是Java语言中的一个二元运算符,它的作用是:判断一个引用类型变量所指向的对象是否是一个类(或接口.抽象类.父类)的实例,即它左边的对象是否是它右边的类的实例,该运算符返回bool ...
- java中instanceof 详解_java中的instanceof用法详解
instanceof是Java的一个二元操作符(运算符),也是Java的保留关键字.它的作用是判断其左边对象是否为其右边类的实例,返回的是boolean类型的数据.用它来判断某个对象是否是某个Clas ...
最新文章
- hadoop集群硬盘损坏_Hadoop集群(万台规模)的磁盘故障自动处理
- 关于JWT的一些攻击方法
- Spring Cloud微服务之公共服务模块抽取(五)
- Excel宏的自动运行设置
- 初探在容器上构建持续部署!
- 基环树DP(bzoj 1040: [ZJOI2008]骑士)
- 程序员如果不学好底层,将毫无作为
- 为什么替换了resources下的文件但是不生效_Spring boot 多文件配置
- 小编详解网络蜘蛛的安全隐患及预防方法
- 电脑上网前必须要安装的四个补丁
- 怎么将英文文件翻译成中文
- 指南:情人节表白h5源码
- nginx 代理解决跨域问题
- Linux中select IO复用机制
- Citrix 服务器虚拟化之二十一 桌面虚拟化之部署Provisioning Services
- 计算机两种层次结构模型,计算机网络层次结构模型.ppt
- Python主要用来做什么?
- linux 命令集合1
- 干货:Easy系列各视频平台云台控制功能的使用注意事项汇总
- 财报汇总 | 快手、TCL电子、同程艺龙、勃林格殷格翰等28家企业公布最新业绩...