t3.equals(t3)是唯一具有与方法签名public boolean equals (Test testje)匹配的正确参数的行,因此它是程序中唯一实际调用该print语句的行。 这个问题旨在教你几件事情。

所有类都隐式扩展Object

Object.java包含一个types为Object的equals方法

具有相同名称的多个方法可以存在,只要它们具有不同的参数 – 这被称为方法重载

在签名匹配运行时参数的方法方法重载是被调用的方法。

基本上这里的技巧是Test像所有java类一样隐式扩展Object。 Object包含一个采用Objecttypes的equals方法。 t1和t2是键入的,使得在运行时参数从不匹配在Test中定义的equals方法签名。 相反,它总是调用Object.java中的equals方法,因为基types是Object,在这种情况下,您可以访问的唯一方法是在Object.java中定义的方法,或者派生types是Object,在这种情况下

public boolean equals(Test testje)

不能进入,因为在这种情况下,在运行时参数是Objecttypes,它是Test的超类,而不是子类。 所以相反,它看着Test.java的隐式types的超类Object.java中的equals方法,它也包含一个equals方法,它只是碰巧有一个方法签名

public boolean equals (Object o)

在这种情况下在运行时匹配我们的参数,所以这个equals方法就是执行的方法。

注意在t3.equals(t3)的情况下, t3.equals(t3)的基types和派生types都是Test。

Test t3 = new Test ();

这意味着在运行时您正在调用Test.java中的equals方法,并且您传入的参数实际上是Testtypes,因此方法签名匹配并且Test.java中的代码将执行。 在这点数count == 4 。

为你加分知识:

@Override

您可能在几个地方看到的注释明确地指示编译器失败,如果它找不到在超类中的某个地方完全相同的签名的方法。 这对于知道你是否肯定要覆盖一个方法很有用,并且你想要确定你确实重写了这个方法,并且你没有意外地改变了超类或者子类中的方法,但是并不是这两个方法,并且引入了一个运行时错误该方法的错误实现被称为导致不需要的行为。

关于equals的Java代码_与equals方法相关的Java代码相关推荐

  1. 46栈内存溢出、内存区域(程序计数器、Java 虚拟机栈、本地方法栈、Java 堆、方法区、直接内存、内存溢出)与内存溢出(对象实例化分析)

    46.什么情况下会发生栈内存溢出 46.1.Java 内存区域与内存溢出 46.1.1.内存区域 46.1.1.1.程序计数器 46.1.1.2.Java 虚拟机栈 46.1.1.3.本地方法栈 46 ...

  2. 基础贴吧java代码_原来你是这样的JAVA[01]-基础一瞥

    1.Java是什么呢? Java不仅是一门语言,而且是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码和一个提供安全性.跨操作系统的可移植性以及自动垃圾收集等服务的执行环境. 2.JDK 和 ...

  3. 冒泡排序java代码_数据结构与算法—冒泡排序(Java实现)

    [toc] 冒泡排序 程序代码 package com.uplooking.bigdata.datastructure; import java.util.Arrays; public class B ...

  4. amd cpu不能在cmd环境下运行java代码_如何在Windows10中配置java的JDK环境

    今天给大家分享一下如何配置java的JDK环境.操作步骤如下: 1.下载好 jdk 的安装文件,我下载的是 jdk-10.0.1_windows-x64_bin.exe 这个版本的安装文件: 2.使用 ...

  5. aixs1 生成java代码_通过axis1.4 来生成java客户端代码

    1.首先下载axis-1.4所有的jar包, 2.我是直接打开cmd,进入到该jar包的目录下, 3.直接运行命令(运行这个命令之前要确定java的环境变量都已配置好): java -Djava.ex ...

  6. java冒泡测试代码_数据结构与算法—冒泡排序(Java实现)

    [toc] 冒泡排序 程序代码package com.uplooking.bigdata.datastructure;import java.util.Arrays;public class Bubb ...

  7. java多线程异步调用别的系统接口代码_抢先准备,40个 Java 多线程面试题及答案大汇总!...

    ↑↑↑点上方蓝字关注并标⭐「IT技术思维」 一起培养顶尖技术思维 来源:程序员共成长(id:finishbug) 这些多线程的问题,有些来源于各大网站.有些来源于自己的思考.可能有些问题网上有.可能有 ...

  8. java幻灯片播放代码_简单常用的幻灯片播放实现代码

    幻灯片自动播放图片是当前网站比较流行的一个展示方式.在网上我们能找到各种特效丰富的幻灯片插件和代码.这里项目需要,我自己做了一个简单的,就不详细讲解了,代码很简单.直接看效果图和代码吧. 所有代码 p ...

  9. c语言实现java接口_五分钟带你了解Java是如何从容而优雅地实现接口数据校验

    本篇文章给大家分享平时开发中总结的一点小技巧!在工作中写过Java程序的朋友都知道,目前使用Java开发服务最主流的方式就是通过Spring MVC定义一个Controller层接口,并将接口请求或返 ...

最新文章

  1. r语言可以写c程序吗,[求助]R一般用什么写程序?
  2. springboot 实现微信小程序授权并解密手机号
  3. QUIC报文格式详解
  4. MYSQL用存储过程创建百万级测试数据表
  5. java array 元素的位置_208道高频 Java面试题答案2
  6. Java中equals()方法和==的区别分析
  7. Servlet读取xml文件的配置参数
  8. idea的tomcat实现热部署遇到的问题
  9. 关于提高数据库查询效率的问题
  10. 面试:Android网络优化
  11. win10计算机出现乱码,win10系统出现汉字乱码如何解决
  12. IE浏览器在地址栏针对param直接输入中文导致乱码的解决方案
  13. Android图文混排
  14. 使用fetch 遇到的ReadableStream is locked 的问题
  15. 转 js控制excel打印完美解决方案
  16. 加密世界“众生相”:僧侣、信徒和骗子
  17. 浅谈对dao层的理解
  18. 用链表实现对二进制数加1的运算
  19. 多相机BEV感知表达
  20. web之HTML入门02

热门文章

  1. Django实现excel导入数据库(超详细)
  2. 重磅!2022年全球汽车零部件供应商百强发布
  3. 通道结构体_超账结构中系统通道和应用程序通道上的配置更新
  4. 水塔流量的估计matlab,估计水塔的水流量
  5. 【论文学习】《Who is Real Bob? Adversarial Attacks on Speaker Recognition Systems》
  6. cmseasy(易通CMS) 注入漏洞 上传漏洞 爆路径ODAY(含修复)
  7. 电脑键盘equals在哪个位置_总结了一下键盘上所有符号的英文说法
  8. java设置页码_Java 添加页码到Word文档
  9. matlab之绘制表达式或函数fplot
  10. 电源地与信号地关系的详细解析