专栏首页程序员互动联盟【答疑解惑】Java中的默认构造器和equals方法

【答疑解惑】Java中的默认构造器和equals方法

有一些网友在学习Java基础知识是遇到一些问题小编来解答一下。

1、Java中的默认构造器:

在Java中你要创建一个对象肯定会调用new语句来创建一个对象,在new的时候会调用对象的初始化函数,默认如果你没有写构造函数的话编译器会自动给你创建一个无参的构造函数,如果你自己写了构造函数则根据你new时候的语句调用不同的构造函数,举个例子:

 class A {
        private int m;
        //默认构造方法
        A() {
        }
        //重载的构造方法
        A(int i) {
            m = i;
        }
    }

A a = new A()会调用默认构造函数,A a1 = new A(1)会调用第二个你重载的构造函数。这里有个知识,如果你自己写了一个带有参数的构造器,系统不会再帮你创建无参构造器(默认构造器)。

2、Java中的equals:

equals操作的是对象objectA.equals(objectB),作用是比较两个对象是否相同。Java中所有的类都是从基类Object继承过来的,默认你在比较两个对象的时候调用的是Object类的equals方法:

public boolean equals(Object o) {
    return this == o;
}

大家可以看到上面的方法比较的是两个对象的引用是否是同一个,你创建的两个对象肯定是不同的,下面的图片也正是验证了这个问题。

如果你想让v1.equals(v2)返回为true则需要在Value类中重写Object的equals方法:如下:

@Override
public boolean equals(Object obj) {
    Value a = (Value)obj;
    return i == a.i;
}

重写equals方法,比较的是Value的i值。

总结:

如果你还觉得回答不够彻底就直接加群问小编或者在公众号直接留言。

本文分享自微信公众号 - 程序员互动联盟(coder_online)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-07-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 程序员之死

    杜烨大学毕业后在一家颇有名气的软件公司做程序设计。他是一个很聪明的人,大智慧姑且不说,至少有一些小聪明。他凭着自己的聪明很快积攒了一笔钱。2000年4月,他从武...

    程序员互动联盟
  • 【入门指导】web大神入门之前,都看了那些书?

    之前发表过一篇关于web学习的突破口的文章,有读者跟我反映,说虽然有学习的模式但是没有提到具体学习web入门的参考书籍问我有没有什么书籍可以很好的学习入门web...

    程序员互动联盟
  • 【专业技术第九讲】java Applet工作原理及使用方法

    存在问题: 有群友疑惑HTML中的<applet>标签是干什么的? 解决方案: Applet是采用Java编程语言编写的小应用程序,该程序可以包含在 HTML(...

    程序员互动联盟
  • 不服来战,看Kotlin如何完爆Java

    前言:Kotlin因支持谷歌和简化Android开发而声名鹊起。看看它如何解决Java的许多痛点。 Why Kotlin? 如果我今天被问到如何区别开发Andr...

    CSDN技术头条
  • 面经 | 商汤科技计算机视觉岗【二面】

    今天早上在理想国际大厦,完成了商汤的两面,不得不说商汤这边的办公环境好棒,真的连厕所马桶都是智能马桶,一开始不知道进哪头门,进去后发现两边是连通的,进哪头门都一...

    AI算法与图像处理
  • 【漏洞预警】WinRAR代码执行漏洞威胁预警

    近日,有安全研究人员使用WinAFL fuzzer发现WinRAR中存在逻辑漏洞,利用该漏洞攻击者可完全控制受害者计算机。攻击者只需利用此漏洞构造恶意的压缩文件...

    绿盟科技安全情报
  • Leetcode 204. 计数质数

    除了 2,3 以外,所有的质数都分布在 6*x 的两侧,例如 5,7,11,13...,其中 x 为正整数。

    zhipingChen
  • WinRAR 被曝存在遗留19年的漏洞,影响全球多达5亿用户

    WinRAR 可能是目前全球用户最多的解压缩软件了,号称拥有5亿用户,在绝大多数装机必备软件清单中几乎都能看到它的存在。近期,WinRAR被发现存在严重的代码执...

    FB客服
  • mysql 查询出成绩表排名,两种实现方式

    lop
  • IG获胜,技术解读S8英雄的胜率分布,请看图谱

    从以上图谱可看出,费雷尔卓德之心是胜率最高的,并且隐约可以看到英雄分布成5类,下面分别看看这5类的图谱情况。

    mixlab

扫码关注云+社区

领取腾讯云代金券