• 网站刚刚上线,难免有不足的地方,敬请谅解!欢迎提出宝贵意见!

  •    3年前 (2015-07-13)  Java基础 入门指导 答疑解惑 |   6 条评论  158 
    文章评分 3 次,平均分 5.0

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

    1、Java中的默认构造器:

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

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

    2、Java中的equals:

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

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

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

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

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

    总结:

    如果你还觉得回答不够彻底就直接加群问小编或者在公众号直接留言,微信公众号:程序员互动联盟(coder_online)。

    关注微信公众平台:程序员互动联盟(coder_online),你可以第一时间获取原创技术文章,和(java/C/C++/Android/Windows/Linux)技术大牛做朋友,在线交流编程经验,获取编程基础知识,解决编程问题。程序员互动联盟,开发人员自己的家。

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

     

     

    本文原始地址:http://www.coderonline.net/faq-the-default-constructor-in-java-and-equals-method.html

    本篇文章为原创,拒绝转载!

    否则保留追究法律责任的权利!

    关于

    发表评论

    表情 格式
    1. 收了

      nothing 评论达人 LV.5 3年前 (2015-07-14) [0] [0]
    2. 群里反馈的问题真的有解答呀!好。

      Coder 评论达人 LV.5 3年前 (2015-07-14) [0] [0]
    3. 一天学一点

      麦子熟了 博 主 3年前 (2015-07-14) [0] [0]
    4. 受用了

      raul 评论达人 LV.5 3年前 (2015-07-14) [0] [0]
    5. 一直在用,从未深究,知识了。

      angel 评论达人 LV.5 3年前 (2015-07-14) [0] [0]
    6. 当初学习java的时候,用两个String比较用== 就是false 都疯了,才知道 上面这个函数 ,说多都是泪呀

      邱, 广超 评论达人 LV.3 3年前 (2015-07-13) [0] [0]
    切换注册

    登录

    忘记密码 ?

    切换登录

    注册