为了账号安全,请及时绑定邮箱和手机立即绑定

关于super关键字的问题,代码如下,麻烦大佬帮忙看看!

关于super关键字的问题,代码如下,麻烦大佬帮忙看看!

明月笑刀无情 2021-05-18 18:14:25
class MyStack extends java.util.ArrayList {public boolean isEmpty() {return isEmpty();}public String toString() {return "stack: " + toString();}}在java.util.ArrayList类中,也有isEmpty() 和toString()方法,为什么两个方法前不加super也能输出正确结果。这个时候,方法覆盖怎么不起作用了?
查看完整描述

3 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

return ISEmpty();调用的是自己当前的方法,其实是无限循环。
你说的方法覆盖怎么不起作用了?是可以的啊。

查看完整回答
反对 回复 2021-05-23
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

java.util.ArrayList类中isEmpty() 方法
/**
* Returns <tt>true</tt> if this list contains no elements.
*
* @return <tt>true</tt> if this list contains no elements
*/
public boolean isEmpty() {
return size == 0;
}
方法本身返回的就是一个布尔值啊???
而且你的类中掉的方法不是java.util.ArrayList类中isEmpty() 方法吧。。
ctrl+方法名肯定是你当前的方法。。



查看完整回答
反对 回复 2021-05-23
?
LEATH

TA贡献1936条经验 获得超6个赞

isEmpty()还是调用java.util.ArrayList类,toString()才有改到,所有的类都是Object 的子类,都有toString()方法

查看完整回答
反对 回复 2021-05-23
  • 3 回答
  • 0 关注
  • 283 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信