为什么Java中的方法无法在main()方法中定义使用(一写就报错)?

觅闲 2022-01-03 05:37:31

找了很久,统一下,答案1:

Java语言规定方法中不能嵌套方法,却可以调用其它方法。

一个类中可以定义很多方法,但是方法体中不能再定义方法,Java规定。

方法的定义只能写在类的下面,不能写在另一个方法中,方法是属于类的。若方法中有个内部类,类中可定义新的方法。

答案2:

不要去想那么多为什么,直接记住什么能做,什么不能做就可以了。

这个是Java常识,你知道了就好,不要问为什么,非要问就是钻牛角尖。

 方法的定义不能嵌套,就是这么简单的一个规定。

答案3:

从运行上来讲是可行的 从逻辑上来讲你要给它一个存在的理由 我们之所以写方法 是为了代码的重用性 和实现代码逻辑上分离(把专门的是给专门的对象) main 方法是 是程序的主入口 他的意义在于 通过它来实现你想要的效果(控制层) 他只管调用就是了 其他的事交给其他的类就好了 这样的要改动的时候你只要解决的相应的类就行了。

答案4:

是编译的时候,每个方法都被分配一个栈帧,里面有ESP,EBP,如果方法嵌套定义的话,ESP,EBP没办法分配吧

方法里套方法,不符合面向对象的思想。类的描述定义在方法区,对象存储在堆区,每一个对象都有唯一一个对类型信息的引用(首地址值)。jvm遇到一个方法就会根据临时变量引用去找堆区对应对象,根据该对象到方法区找到该方法,将该方法压栈。执行完毕后弹栈。如果方法里套方法,遇到子方法,会再压栈,但无法找到对应对象了。

每一条看似简单的定义,背后都有一扇通向深处的门

一起加油!

附:

 

来源。侵删!

...全文
686 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-Java 发布问题, 以便更快地解决您的疑问

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧