同一个Java程序中可以有好几个Main方法吗?

同一个Java程序中可以有好几个Main方法吗?
我建了两个.java文件,在同一个包中,我在两个.java文件中的类中都写了Main方法,结果程序不抱错,但是默认的执行我后建的那个.java文件中的Main方法,这是为什么?我开始以为它会像C#中一样,抱错呢,因为C#中只能有一个Main方法的。
因为我刚刚开始学习JAVA,我现在用的是JDK1.5,使用Eclipse学习初级的东西呢,那么,该如何设置那个类作为主类呢?

每一个java文件都会有一个public static void main(String[] args)作为程序作为入口,一个类有且只有一个,但是可以有与他不同的,比如:void main(),void main(int a),都是可以的,在不同类中,是可以有多个public static void main(String[] args),比如我下面的代码,但是程序不会以另一个作为程序入口,区别就在于class前的public,第二个class是不允许用public修饰的。
package trya;
import swing.*;
public class trya extends UsuallyNeedJFrame{

trya(){
super("qq",true,40,40,400,400);
}
public static void main(String[] args) {
new trya();

}

}
class a{
public static void main(String[] args){

}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-20
设置主类:在Eclispe中右键点击你的java文件->Run as->Run...->选择Main Class就OK了

不会报错
因为你不同的java文件中可以有Main方法的存在。
IDE的不同决定了先运行那个main方法。但是它只执行一个main方法
而不会执行多个,也不能被别的方法调用。
C#使用的是vsIDE,该IDE不允许用多个main方法本回答被提问者采纳
第2个回答  2008-03-17
每个类都可以有main方法,但每个类只能有一个完全相同的main方法。

程序运行时,执行的是哪个main方法,在IDE中可以设置。
如果是jar包,就在META-INF\manifest.mf中指定。
第3个回答  2008-03-17
Java中只能有一个Main方法,你运行第一个Main方法时程序只当作有一个,当运行第二时当然出现两个了,就报错了
第4个回答  2008-03-17
可以有多个,比如在类A,B,C中都存在main方法,那么,你在测试的时候,可以选择,A,B,C任意一个作为程序的入口运行.如果你要把这些程序打包,那么毕竟在配置文件中,添加一个main-class:参数,那么这个main-class是你自己指定的,是A,是B,还是C,完全在于你怎么设置,明白了吗,祝你成功.
相似回答