A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 mayor125 于 2015-4-25 09:49 编辑

直接上代码:
  1. class Test
  2. {
  3.         protected boolean equals()
  4.         {
  5.                 return super.equals();
  6.         }
  7. }
复制代码

7 个回复

倒序浏览
编译是错误的,请各位帅哥美女帮忙解答一下为什么编译会出错,谢谢了。
回复 使用道具 举报
本帖最后由 mrleeapple 于 2015-4-24 11:50 编辑

super.equals();表示使用父类的equals()方法,而“class Test{ ”这里并没有给Test类指定父类,所以报错了。
回复 使用道具 举报
父类默认不是Object吗,应该是没有传入对象吧,这个方法默认是判断两个对象的地址值是否相同,也就是说equals()的用法不对吧
回复 使用道具 举报
lqg5522 发表于 2015-4-24 11:54
父类默认不是Object吗,应该是没有传入对象吧,这个方法默认是判断两个对象的地址值是否相同,也就是说equa ...

是的,后来翻了翻API文档,Object类中没有equals()这个方法,Object里面的那个equals方法是要传参数的,super.equals();这样调用肯定是会报错的,因为父类中没有该空参数的方法。

谢谢你的回答。
回复 使用道具 举报 1 0
没继承怎么来的super
回复 使用道具 举报
super.equals();调用的是所有类的基类的equals()方法,而这个方法是有参数的,不是空参的。所以会报错。
回复 使用道具 举报
学习了~~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马