黑马程序员技术交流社区
标题:
一道面试题,比较疑惑,求大神解答
[打印本页]
作者:
mayor125
时间:
2015-4-24 11:39
标题:
一道面试题,比较疑惑,求大神解答
本帖最后由 mayor125 于 2015-4-25 09:49 编辑
直接上代码:
class Test
{
protected boolean equals()
{
return super.equals();
}
}
复制代码
作者:
mayor125
时间:
2015-4-24 11:43
编译是错误的,请各位帅哥美女帮忙解答一下为什么编译会出错,谢谢了。
作者:
mrleeapple
时间:
2015-4-24 11:49
本帖最后由 mrleeapple 于 2015-4-24 11:50 编辑
super.equals();表示使用父类的equals()方法,而“class Test{ ”这里并没有给Test类指定父类,所以报错了。
作者:
lqg5522
时间:
2015-4-24 11:54
父类默认不是Object吗,应该是没有传入对象吧,这个方法默认是判断两个对象的地址值是否相同,也就是说equals()的用法不对吧
作者:
mayor125
时间:
2015-4-24 13:36
lqg5522 发表于 2015-4-24 11:54
父类默认不是Object吗,应该是没有传入对象吧,这个方法默认是判断两个对象的地址值是否相同,也就是说equa ...
是的,后来翻了翻API文档,Object类中没有equals()这个方法,Object里面的那个equals方法是要传参数的,super.equals();这样调用肯定是会报错的,因为父类中没有该空参数的方法。
谢谢你的回答。
作者:
优质码农
时间:
2015-4-24 13:56
没继承怎么来的super
作者:
静心明德
时间:
2015-4-24 14:12
super.equals();调用的是所有类的基类的equals()方法,而这个方法是有参数的,不是空参的。所以会报错。
作者:
smartisan
时间:
2015-4-24 14:43
学习了~~~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2