一...对于第一个问题,main方法属于谁,我觉得竟然该方法
声明在了主类中,就属于这个类,至于为什么main的声明为:
public static void main(String args[]),因为这是java的规范(返回值为void,还有
必须有一个参数等相关内容,楼主可自行查相关的java规范文档).
又因为每个类要想被JVM虚拟机中执行,就必须要声明这个main方法,
因为JVM运行java程序时,会找这个main方法,如果没有就一定会报错,
同样如果main方法的格式错误,仍会报错.
二...再说main方法调用时不用实例化该类,是因为main方法有了public static做了限制,
还有我觉得main不是在方法区,楼主可以做这个实验
- public class Test'{
- static {
- System.out.println("方法去中的代码");
- }
- public static void main(String args[]){
- System.exit(0);
- }
- }
复制代码
可以看到,"方法中的代码"被打印出来,所以可以断定,main方法是在静态方法区中之后执行的
综上,main方法还是属于他所在的类
如果在详细的说main方法,那就要说到jvm虚拟机了,详细的我也不怎么懂,如果楼主有兴趣可以查阅相关资料 |