我个人理解的一个应用场合就是,当你拿到一个对象的引用时(例如参数),你可能需要判断这个引用真正指向的类。所以你需要从该类继承树的最底层开始,使用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什么时候用相关推荐

  1. 深入Java关键字instanceof

    深入Java关键字instanceof   instanceof关键字用于判断一个引用类型变量所指向的对象是否是一个类(或接口.抽象类.父类)的实例.   举个例子: public interface ...

  2. java is instance of_详谈Java中instanceof和isInstance的区别

    一次性搞定instanceof和isInstance,instanceof和isInstance长的非常像,用法也很类似,先看看这两个的用法: obj.instanceof(class) 也就是说这个 ...

  3. java中instanceof的用法和实战

    https://blog.csdn.net/qq_37192800/article/details/78861387 https://www.cnblogs.com/zjxynq/p/5882756. ...

  4. 12 java中instanceof运算符的意义和用法

    java中instanceof运算符的意义和用法 instanceof运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来标识该对象是否为特定类或者它的子类的一 ...

  5. Java关键字——instanceof

    instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为: 1 boolean result = obj instanceof Class 其中 obj ...

  6. java:volatile,instanceof,strictfp关键字

    volatile volatile是一个类型修饰符(type specifier),它是被设计用来修饰被不同线程访问和修改的变量.被volatile类型定义的变量,系统每次用到它时都是直接从对应的内存 ...

  7. Java中instanceof用法

    java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例.  用法: re ...

  8. Java 子类 instanceof 父类

    ##1.结论: 子类 instanceof 父类 == true 父类 instanceof 子类 == false ##2.测试代码 @Testpublic void testInstanceof( ...

  9. java中instanceof使用详细介绍

    instanceof是Java语言中的一个二元运算符,它的作用是:判断一个引用类型变量所指向的对象是否是一个类(或接口.抽象类.父类)的实例,即它左边的对象是否是它右边的类的实例,该运算符返回bool ...

  10. java中instanceof 详解_java中的instanceof用法详解

    instanceof是Java的一个二元操作符(运算符),也是Java的保留关键字.它的作用是判断其左边对象是否为其右边类的实例,返回的是boolean类型的数据.用它来判断某个对象是否是某个Clas ...

最新文章

  1. hadoop集群硬盘损坏_Hadoop集群(万台规模)的磁盘故障自动处理
  2. 关于JWT的一些攻击方法
  3. Spring Cloud微服务之公共服务模块抽取(五)
  4. Excel宏的自动运行设置
  5. 初探在容器上构建持续部署!
  6. 基环树DP(bzoj 1040: [ZJOI2008]骑士)
  7. 程序员如果不学好底层,将毫无作为
  8. 为什么替换了resources下的文件但是不生效_Spring boot 多文件配置
  9. 小编详解网络蜘蛛的安全隐患及预防方法
  10. 电脑上网前必须要安装的四个补丁
  11. 怎么将英文文件翻译成中文
  12. 指南:情人节表白h5源码
  13. nginx 代理解决跨域问题
  14. Linux中select IO复用机制
  15. Citrix 服务器虚拟化之二十一 桌面虚拟化之部署Provisioning Services
  16. 计算机两种层次结构模型,计算机网络层次结构模型.ppt
  17. Python主要用来做什么?
  18. linux 命令集合1
  19. 干货:Easy系列各视频平台云台控制功能的使用注意事项汇总
  20. 财报汇总 | 快手、TCL电子、同程艺龙、勃林格殷格翰等28家企业公布最新业绩...

热门文章

  1. deepin初试与file browser使用小结
  2. 2021-2027年中国市医疗电子场投资分析及前景预测报告
  3. 2022-2028年中国氧化铟锡薄膜行业市场深度分析及前瞻研究报告
  4. 【spring】spring基于xml的声明式事务控制
  5. GPT3 api接口调用
  6. SystemML大规模机器学习,优化算子融合方案的研究
  7. cuDNN 功能模块解析
  8. Ryzen 4000 Vermeer CPU和Radeon RX Big Navi 图形卡
  9. 客快物流大数据项目(十六):使用脚本创建镜像
  10. css中的display属性之li元素