关于java中equals方法的概述

在Java中对于equals方法来说,一般人都会这样说,==比较的是内存地址,equals是值 其实这样说是不准确的。关系操作符比较的是什么,在《Thinking in java》一书中是这样说的:关系操作符生成的是一个boolean结果,它们计算的是操作数的值之间的关系。看似简单,实则需要用心体会。

示例1代码所示 输出结果全是true。

示例2,创建B类,重写无参构造方法为其赋值,然后比较得知其结果为false,。说明原equals方法比较的还是内存地址

我们要达到我们自己预期的功能 则必须重写equals方法,equlas属于object类,所以任何类都可以重写,如下:equals比较的则是值

无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!很多干货和技术资料分享!有导师分享知识点,也可以直接问,每天学习的都不一样,推荐一个学JAVA的技术分享裙【 一三三,九三零,六九三】,裙内有开发工具,视频,系列资料等我们利用多态的特性再次重写equals方法 新建C类继承B类 ,运行代码可知,输出结果还是true。这是比较两个不同类实例对象的值

注意的是对象向上转型后是不能直接访问子类成员的,必须强转成子类才可以访问,这也体现出java语言的严谨性。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,289评论 18赞 399
  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 4,758评论 1赞 44
  • 转自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帅199207阅读 8,895评论 3赞 93
  • 我想和你一起生活 作者:茨维塔耶娃(Marina Tsvetaeva) 我想和你一起生活 在某个小镇, 共享无尽的...
    若雪君阅读 264评论 1赞 2
  • 希希是一个不喜欢讲话的孩子,一开始,在上涂色课的时候,老师分了一张画有小兔子和火车的纸,让他进行涂色,希希选择的都...
    胡说八道我最大阅读 159评论 0赞 0

友情链接更多精彩内容