super的使用权限问题

super的使用权限问题

问题描述:

请问老师,本题的答案解析中描述“super不可以在main方法中使用”,此处的main方法应该指的是静态的主方法吧,如果是子类自定义的非静态方法也叫main,在我自己测试中还是可以使用super正常访问父类方法的。

public void main(){
    super.eat();
}


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,main方法就是指声明为“public static void main(String[] args)”的方法,除了参数名之外都必须完全一致。如果非要说其他方法名为“main”的方法也叫main方法,本身也是可以的,但是平时基本没有人这么称呼,因为约定俗成的,只要提及“main方法”或者“主方法”就是指用于程序启动的静态方法。

同学书写的代码,并不是静态方法,所以是可以super的,而静态的主方法中是不能使用super的。

祝学习愉快~

  • Macrohard 提问者 #1

    好的,谢谢老师,没有咬文嚼字,就是刚好后面课程看到了“super不能在静态方法中使用”这个概念想到的。

    2023-07-11 11:33:53
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java工程师 2024版
  • 参与学习       2024    人
  • 提交作业       1318    份
  • 解答问题       1228    个

2024重磅革新,超百小时内容豪华升级,加速提升高级技能与高薪就业竞争力 课程紧贴企业最新人才需求,历经7年持续迭代,帮助万名学子入行转行 从零起点到高阶实战,学习路径稳健顺滑,成就从小白到工程师高薪

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师