日期:2014-05-19  浏览次数:20683 次

main()方法执行问题???
在同一个包中有两个public类,在2个.java文件中:
 public class A{
  public A(){}
  public static void main(){System.out.println("A-RUN");
  }


  public classB{
   
  public static void main(){
  A a=new A();
  }

请问:现在运行B,A的main()方法会执行吗?

------解决方案--------------------
不会。
你直接
A.main();
------解决方案--------------------
不会。
第一,执行A a=new A()只会执行A的无参数构造方法,主函数方法根本不会执行。如果你没有显示地重载无参数构造方法,new A()不会有任何控制台输出
第二,A和B的main方法你漏掉了main的数组参数String[] args
如果你想在B类当中运行A的方法,需要初始化A的实例后,调用a.main(null),不过一般也很少有这样调用的
------解决方案--------------------
第一次编译会让你选那个类的main来运行。 A a=new A(); 只是创建A对象,不会调用。
要运行A的main方法必须要调用。