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

各位帮忙解答下

为什么父类方法调用是“super.方法名();”,而子类方法调用却直接是“方法名();”,而不是“对象名.方法名();”

这和我之前学的语法有冲突啊!求解!

正在回答

3 回答

之前学的是通过实例化出对象然后调用方法,这个就是相当于匿名调用,不需要创建对象,以前的只不过教你如何创建对象而已


0 回复 有任何疑惑可以回复我~
#1

ByteMan 提问者

匿名调用能知道是谁在调用吗?没有调用者,这个方法为谁执行?
2019-02-13 回复 有任何疑惑可以回复我~
#2

这鱼又溺水了 回复 ByteMan 提问者

因为咱们是在本类里面调用本类所实现的方法,可以使用直接方法名()来调用;而你在其他类里面想要调用这个类里面的方法必须实例化这个类通过对象来调用,这里你说在 本类里面原来是使用对象来调用这个方法,其实就是以前他教你的一种实例化方法而已,其实在本类里面可以直接调用方法名就可以了这是一种简便的方法,你可以试试。
2019-02-14 回复 有任何疑惑可以回复我~

子类覆盖了父类的方法,这时候要使用父类的方法,就用super.方法名()。子类方法中自己调用自己的方法,直接写方法名

0 回复 有任何疑惑可以回复我~

这是子类内部的方法调用,子类都还没有实例化哪来的对象名

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530556    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

各位帮忙解答下

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信