初学者难免有点混淆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. MATLAB知识点总结
  2. c 语言贪心钓鱼思路,2020届九年级中考语文复习教案:第4讲现代文阅读之概括(27页)-原创力文档...
  3. 高通平台modem部分mbn文件的OTA和PDC升级方法
  4. Linux中sysstat服务,Linux 性能优化工具包 sysstat 以及 sysstat 服务
  5. SignalR的性能监测与服务器的负载测试
  6. [渝粤教育] 西南科技大学 机械控制工程基础在线考试复习资料
  7. haproxy和keepalived的理解(转载)
  8. Kotlin学习笔记29(完结篇) Flow part2 Flow的Buffer 中间操作符zip 打平 异常处理 Flow的完成 onCompletion的优势 onCompletion陷阱
  9. python 保留的类标识符
  10. spring cloud config-配置中心
  11. linux内核双向链表学习
  12. DELL H330(LSI 3008)RAID卡刷IT直通模式注意事项(避坑指南)
  13. Docker网络之bridge0详解
  14. adb shell error: device offline
  15. 你想靠AI实现永生吗?
  16. TensorFlow实现中文字体分类
  17. 知网caj文件转pdf(无需下载任何软件,傻瓜式操作,必看!!!)
  18. Android OTA releasekey 替换
  19. Resetting a lost Admin password
  20. 企业网站源码PHP附企业小程序源码

热门文章

  1. Midjourney —— AI绘图工具能取代设计师吗?
  2. R语言机器学习mlr3:技术细节
  3. python中黏包问题的解决
  4. pytorch实现DCGAN生成动漫人物头像
  5. vue父子组件传值之 $emit和props
  6. arcgis获取某个区域中心点的经纬度
  7. java编译错误:Dangling meta character
  8. 名帖140 梁诗正 楷书《圆觉了义经》《无量义经》
  9. 继黄峥之后,马斯克身价也超马云!
  10. 用Python实现接口自动化测试并保存测试结果