今天脑袋短路,对于这个问题纠结了好久。这个问题具体是这样的:
public class test { public static void main(String[] args) { test2 t = new test2(); System.out.println("" + t.i); t.meth(); } }
public class test2 { public Integer i=5; test2(){ System.out.println("构造函数"); } public static void main(String[] args) { System.out.println("main函数"); } public void meth(){ System.out.println("普通方法"); } }
此程序运行结果如下:
我当时就问:java不是从main开始吗?怎么test2的main函数没有执行?
于是开始了各种不解。
后来才恍然大悟,main是java程序的入口,java也的确是从main开始的,需要注意的是main这个入口是对于整个java程序而言,不是对于某了类!因此,此入口只能有一个,且只执行一个!否则,所有的main函数都可作入口了,那就乱套了。