Pfeffer
Pfeffer
采纳率53%
2017-08-13 01:26 阅读 974
已采纳

super 的一个小的问题 希望得到确认 Java核心技术卷 一

10

图片说明

在主函数中,有语句

System.out.println("carl.equals(boss): " + carl.equals(boss));

也就是说 carl.equals(boss), 到manager函数中有

  public boolean equals(Object otherObject)
   {
      if (!super.equals(otherObject)) return false;
      Manager other = (Manager) otherObject;
      // super.equals checked that this and other belong to the same class
      return bonus == other.bonus;
   }

这个super是调用父类中的方法,也就是说carl和boss先调用父类中的这个方法进行比较,这个是对的吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    kbc_kbc kbc_kbc 2017-08-13 02:06

    也就是说carl和boss先调用父类中的这个方法进行比较,这个是对的吗?
    答:是的,

    点赞 评论 复制链接分享
  • Small_Mouse0 鼠小 2017-08-13 02:08

    if (!super.equals(otherObject)) return false;

    这代码可能是为了比较 super和otherObject是不是一个类,,,可以说是先做一个筛选,,,
    先跟父类比一下,缩小范围吧(里氏代换原则,子类可以出现的地方,父类都可以)

    可以这样用,,

    点赞 评论 复制链接分享

相关推荐