java一些细节有关问题,对java理解深刻的进

java一些细节问题,对java理解深刻的进~
我的问题希望高人可以把最根本的原因说出来,为什么java要这样设计,有什么好处,或者避免什么坏处~
为什么不能在main()中定义一个方法。
为什么有的时候对对象修改会提示要把它变成final;
为什么调用类的方法,要提示把方法变成static;
为什么有的时候不能赋值,提示它是在外层类型定义的:
多谢,大侠们》

------解决方案--------------------
为什么不能在main()中定义一个方法
你为什么需要在main函数中再定义一个方法?java中没有函数指针的概念,不知道什么时候会支持闭包
为什么有的时候对对象修改会提示要把它变成final;
你是指内部类的情况么?
为什么调用类的方法,要提示把方法变成static;
应该是eclipse之类的ide提示的吧
为什么有的时候不能赋值,提示它是在外层类型定义的:
不太明白你的意思,是指变量的作用域?