初学者难免有点混淆java中instanceof和getClass()的作用,  下面就来一一讲解。

父类A:

class A { }    子类B:

class B extends A { }    构造对象

Object o1 = new A();

Object o2 = new B();

一、instanceof

演示一:

1、o1 instanceof A => true

2、o1 instanceof B => false

3、o2 instanceof A => true // <================ HERE

4、o2 instanceof B => true

分析==>

用法:

英文:result = object instanceof class

中文:结果 = 某个实例对象  instanceof   某个类名

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

总结:

S(Object) instanceof T(Class)

简单来说,instanceof就是判断对象S是否是T类的实例,或者是T类的子类实例。

二、getclass

演示二:

1、o1.getClass().equals(A.class) => true

2、o1.getClass().equals(B.class) => false

3、o2.getClass().equals(A.class) => false // <===============HERE

4、o2.getClass().equals(B.class) => true

分析==>

getClass方法在JDK1.8中定义如下:

/**

*    Returns the runtime class of this Object

*/

public final native Class>  getClass();

功能:

返回在运行时类的对象。

getClass() will be useful when you want to make sure your instance is NOT a subclass of the class you are comparing with.

三、instanceof与getclass的区别

1、作用:

instanceof: 主要用来判断  对象与类之间的关系。

getclass: 主要用来判断  类与类之间的关系。

参考:

原文:http://www.cnblogs.com/aoguren/p/4822380.html

java equals getclass_java中instanceof和getClass()的作用相关推荐

  1. instanceof java 原理_JAVA中 instanceof 和 getClass() 区别小结

    在进行对象之间的比较时会需要针对两个对象的类属性值进行比较,此时可以选择 instanceof 或者 getClass() 进行比较判断.两者都可以用于比较对象之间的类是否相同,但也存在一些区别. i ...

  2. Java中instanceof与getClass的区别

    在比较一个类和另一个类是否属于同一个类实例的时候,通常可以采用instanceof和getClass两种方法比较两者是否相等来判断,但是两者在判断上面是有差别的,下面通过代码说明: public cl ...

  3. java 反射 getclass_Java反射中的getClass()方法

    Java反射学习 所谓反射,可以理解为在运行时期获取对象类型信息的操作.传统的编程方法要求程序员在编译阶段决定使用的类型,但是在反射的帮助下,编程人员可以动态获取这些信息,从而编写更加具有可移植性的代 ...

  4. java equals getclass_Java equals()方法 – 子类中equals的语义如何确定getClass和instanceof的使用...

    我是Java编程的初学者.目前我在this页面上阅读有关继承和等于方法的内容. 直到这一点,我理解这些解释: Compare the classes of this and otherObject. ...

  5. java equals getclass_getClass()和instanceof以及类的equals方法

    在比较两个类时,常见有两种做法,一种是x.getClass() == y; 一种是x instanceof y,下面我们来比较这两种做法的区别. getClass()返回一个对象所属的类 public ...

  6. java 反射 getclass_JAVA反射机制中getClass和class对比分析

    搜索热词 java有两个获得类名的方法getClass()和class(),这两个方法看似一样,实则不然.这两个方法涉及到了java中的反射. 所谓反射,可以理解为在运行时期获取对象类型信息的操作.传 ...

  7. java object.getclass_Java Object类,getClass()方法介绍

    前面有给大家介绍一下Java Object类equals()方法方面的知识,下面的话就要来介绍一下Java Object类getClass()方法方面的知识. getClass()方法返回对象所属的类 ...

  8. java Object类中的各个方法及其作用

    原文链接 一.简介Object类 Object类是所有类的父类,即每个类都直接或简介继承自该类.所以一个Object类型的变量可以引用任何对象,不论是类实例还是数组. 在不明确给出父类的情况下,Jav ...

  9. java中instanceof的用法和实战

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

最新文章

  1. mac 更换默认蓝牙适配器_Win7连接低功耗蓝牙(BLE)鼠标
  2. 显示屏的方向设置问题
  3. Psych101(part3)--Day3
  4. win32汇编寄存器汇总
  5. docker 买了腾讯服务器后的学习
  6. 串口数据波形显示_【专题教程第6期】SEGGER的J-Scope波形上位机软件,RTT模式波形上传可飙到500KB/S...
  7. (128)System Verilog下降沿检测实例
  8. 抖音内测语音直播功能 支持8位观众同时在线聊天
  9. python_对象的基本组成和内存示意图---python工作笔记016
  10. centos php71,CentOS 71编译安装PHP7
  11. ios微信下vue项目组件切换并自动播放音频的解决方案
  12. C语言中意想不到的地方——第七周作业
  13. Pixel 3a 开箱及 Google Fi 服务评测视频
  14. Python构造树结构应用到城市层级编码
  15. 《都挺好》一部黑码农的神剧!
  16. win 10 读写EFI分区
  17. 浏览器User Agent Switcher Options实现模拟浏览器 附(UA下载)
  18. overflow溢出处理
  19. 小红书销售情况(EDA/RFM)
  20. 治数如治水,数据治理和数据创新难在哪?

热门文章

  1. hrsc2016 下载 数据集_中科图云
  2. Linux时间相关知识小结:struct timeval、timespec、gettimeofday、time、localtime....
  3. DevTools 无法加载源映射: 无法加载http://localhost:8081/statics/css/bootstrap.min.css.map 的内容:HTTP 错误: 状态代码 404,
  4. 什么是事务和事务回滚?
  5. Redis10:Redis持久化操作
  6. linux1251端口,#1251 - Client does not support authentication问题解决!
  7. c++ 基础复习3 - 友元和继承
  8. 我的win8期待 新功能 新特性 新改进
  9. 在终端开头显示bash:/home/this/catikin_ws/setup.bash:没有那个文件或者目录
  10. 是走,是留? 跳槽前6个关键问题须清楚