一个JAVA工程中可以有多个主类吗?
如题。并请详细解释下。谢谢! --------------------编程问答-------------------- 不可以。原因是。规定如此。 --------------------编程问答-------------------- 你可以同事写多个主类但是只能允许运行其中的一个主类。 --------------------编程问答-------------------- 逻辑上行不同,程序都需要一个唯一入口,否则系统都不知道你的程序从哪开始。 --------------------编程问答-------------------- 好像不可以吧 --------------------编程问答--------------------
就是这样 --------------------编程问答-------------------- 每个class允许存在一个main函数
但是实际执行的,只会是其中一个
如果是java 方式执行,指命令模式 java -cp "*.classpath" MAINCLASSPATH
根据MAINCLASSPATH指定的入口类调用其main函数
如果是jar方式,java -jar MYJAR.jar
则根据jar的mf文件指定的入口类调用main函数 --------------------编程问答-------------------- 可以有多个主类,但是不能够相互引用。并且运行时只能选择一个作为入口 --------------------编程问答-------------------- 运行时,只有一个程序的入口。
你要干嘛?同时执行多个任务? --------------------编程问答--------------------
LZ 十分确定。。我做的项目就是这样的 --------------------编程问答-------------------- 不可以了! --------------------编程问答-------------------- 好多打酱油的。
以及好多乱说的。
在.JAVA文件中可以有很多个类。
但是只能有一个类可以定义成public的。
而且在编译之后,运行的时候看你运行的哪个.CLASS文件。
每个类对应一个CLASS文件。
--------------------编程问答-------------------- --------------------编程问答-------------------- 你说的主类是什么? public的类? public带main方法的类? 一个工程中当然可以有很多public的类!!! --------------------编程问答-------------------- 问题不太清楚,建议说清楚些。
一个工程里面,只能有一个带main方法的类,这就是程序的入口。 --------------------编程问答-------------------- 根据你问的java工程,一个工程中可以有N个带main的类,但当你要运行整个工程时,却只能指定一个类作为入口;一般大家都叫这个类为当前工程的主类,也即只能有一个 --------------------编程问答-------------------- main() 是程序的入口,故只能有一个类中含有main()方法,并且其他的类都会调用含有main()方法的类,故需要定义为public! --------------------编程问答-------------------- 不可以,只能运行一个main()方法作为程序的入口 --------------------编程问答--------------------
就是这么回事 --------------------编程问答-------------------- 可以有多个类
只能有一个是public的
--------------------编程问答-------------------- 一个工程类,当然可以有多个主类,但是一个主类中只能有一个public,而且只能运行一个。 --------------------编程问答-------------------- App程序每次只能从一个main方法启动. 但你可以为每个类Class定义一个main方法.在启动程序时可通过调用不同的main执行不同的操作! --------------------编程问答-------------------- 完全可以 --------------------编程问答-------------------- 不可以 --------------------编程问答-------------------- 可以的 看你参数运行的那个 --------------------编程问答-------------------- 谢谢大家,应该是可写多个主类,但是只能允许运行其中的一个主类,最近读THINK IN JAVA,上面提到过。呵呵,还是读书少。。。。。。 --------------------编程问答-------------------- 的确如此 --------------------编程问答-------------------- 无所谓,如果你愿意,你可以为你的每一个public类写一个main方法;但运行时你要为你的工程指定入口,也就是从哪个main方法开始运行。还有,你的工程入口main方法中也可以通过反射调用其它的main方法 --------------------编程问答--------------------
不可以相互引用就说不通了,你也可以去main方法也只是一个方法,你完全可以在一个主类中调用另一个主类的main方法 --------------------编程问答-------------------- 可以存在多个类,但是只能有一个主函数。也就是main --------------------编程问答-------------------- 你的工程具体指什么?
如果,是一个普通测试用的,可以有多个主类,每个public类中都有一个main方法。
如果,是一个项目,也可以有多个主类(public class),但是只能有一个入口,即main方法~后期,你可以导出成为jar包。你试想如果有多个入口,那程序要怎么调用呢?所以啦。。。 --------------------编程问答-------------------- 可以。
你将项目打成可运行jar文件时,会让你选择主类。
--------------------编程问答-------------------- 不可以那样滴 --------------------编程问答-------------------- 貌视不可以的 --------------------编程问答-------------------- 一个工程可以有多个入口 , 一个进程只能选择一个入口 --------------------编程问答--------------------
其实一个java工程中可以有多个带main方法的类,不过只有一个main方法运行时会用到,其他的main方法可以用来测试是用! --------------------编程问答-------------------- 不可以。原因是。规定如此。 --------------------编程问答--------------------
我靠,不要误人子弟。 --------------------编程问答--------------------
应该是可以存在多个主类,但只有一个主函数 --------------------编程问答-------------------- 自己试试不就知道了?
--------------------编程问答--------------------
你知道那你说啊。
那么多星星不是误人子弟来的?
--------------------编程问答-------------------- 在java文件中的确可以有多个类,比如内部类,但是只能有一个主类来作为程序的入口,这个主类用public来修饰,其他的类不能用public 来修饰。 --------------------编程问答-------------------- 在一个主类里不一样可以执行其他主类.... --------------------编程问答-------------------- main()是程序入口,一个类中只能有一个主方法 --------------------编程问答-------------------- 可以写多个主类,但是只能运行一个! --------------------编程问答--------------------
同意观点 --------------------编程问答-------------------- 计算机其实在同一瞬间只能执行同时执行一条命令,看起来程序有那么多功能、那么多代码,其实计算机cpu执行起来是按优先级顺序执行的,并不能同时执行两条或者多条命令,所以给计算机写的程序必须要有一定的规则和顺序,main函数是java语言程序的入口地址,有且只有一个,如果多个main函数的程序存在,计算机执行之后要么是后面的main函数的地址将前面的覆盖掉,到最后只行政一个入口地址,要么若多入口程序真的存在..计算机是不会自己做出选择的,,所以..会死机吧..或者随机执行个入口了... 这样的话写程序就违反了自己写程序的初衷。 --------------------编程问答--------------------
lz说的主类和你说的public类好像不是一回事,你说的这段没啥错但就这个帖子确实误人子弟... --------------------编程问答-------------------- 可以的 --------------------编程问答-------------------- 可以有多个主类 但是只有一个程序入口 --------------------编程问答-------------------- 我记得用eclipse 可以写很多public 类的,而在一个java文件中就只能有一个public 类了 --------------------编程问答-------------------- 一个Java文件中只能有一 个public类
楼主所说的主类是不是类中有public static void main(String[] args){}主函数的偶
因为编译时有几个类便会生成几个class文件,含有主函数的都可以独立运行
所以有多个主类是完全可以的,但是这种 类不可以相互调用,如果调用,那么在执行调用其他所谓主类的类的class文件时,就会出现多个入口虚拟机无法识别而造成错乱,
--------------------编程问答--------------------
好像是这么回事。。。 --------------------编程问答-------------------- 我也不是很清楚,所以是来看回帖学习的 --------------------编程问答-------------------- 各位啊!题目说的是在一个java工程中 工程!而不是一个文件 看清楚再说嘛!肯定可以有多个主类啊 --------------------编程问答-------------------- 刚刚百度了一下 额 我错了 主类是指既有public修饰 也要有main方法的类 --------------------编程问答-------------------- 主类?? 你想问的是 声明public 类的问题 还是主方法?? --------------------编程问答-------------------- 学习了 都是高手啊 --------------------编程问答-------------------- 都是天才...看这个帖子做就完了.. --------------------编程问答-------------------- 呵呵,不可以,你可以写多个主类,但是,只能运行一个。 --------------------编程问答--------------------
那是那回事呢????既然高手有不同见解就说出嘛。 --------------------编程问答--------------------
我就不翻译了,省得你又说是抄的,这本来就是抄的,哈哈 --------------------编程问答--------------------
不能说你是误人子弟,只能说你是答非所问 --------------------编程问答--------------------
不能调用就完全说不过去了,main方法他妈的就只是一个方法,你完全可以在一个类的main方法中调用其他类的main方法或者其他方法 --------------------编程问答--------------------
不要想当然的说 --------------------编程问答-------------------- 当然不行,应为入口只能有一个 --------------------编程问答-------------------- 调用了之后有几个入口?虚拟机要识别哪一个?还有,嘴请放干净点 --------------------编程问答-------------------- class A
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
class B
{
public static void main( String[] args)
{
A a = new A();
String[] s = new String[3];
a.main(s);
}
}
这个可以运行。。。。之前说的是错的,对不起,这些东西需要自己去验证,说话都没有用 --------------------编程问答-------------------- 话说,如果main(String[] args)方法是程序的唯一入口的话,楼上的程序入口是哪一个main(String[] args)方法? --------------------编程问答--------------------
关于你说的多个入口的问题,你都有一个main方法进到了虚拟机了,你还考虑什么入口不入口的问题,就像教室有前后两个门,你都进了教室了,你还关心你从哪个门进来的吗 --------------------编程问答--------------------
不管有多少个main方法, 也不管你怎么去调用, 只有你把它当做入口的那个main才是程序的入口,你不把它当做入口,他就只是一个方法,仅此而已,就像教室有前后两个门,你的目的是要进教室你都进了教室了,你还要去纠结该从哪个门进吗 --------------------编程问答-------------------- 我新手,不知道67楼程序的入口是哪一个main()方法,求解,程序如何分辨哪一个main()方法是入口 --------------------编程问答-------------------- 可以写多个main方法,不过要指定哪一个,自己试一下嘛~我自己测试的时候经常会写多个main方法,最后在整合在一起 --------------------编程问答--------------------
正解+1 --------------------编程问答-------------------- 只能有一个public类 存在 并且与文件名一致
其他的类个数不限 --------------------编程问答-------------------- 不知道你说的一个工程里的主类是什么概念,如果是一个可运行的java工程,那么只能用一个类里有main方法,如果是web应用或其他依赖容器的工程,那么可以没有main方法的,写了容器也不会去调用 --------------------编程问答--------------------
好吧,那你给个答案吧?你不误人子弟。
--------------------编程问答--------------------
哪里正解???
其他的主类就不能运行了?报什么错? --------------------编程问答--------------------
那你觉得答案是什么?
你也没给答案嘛。就知道在哪里说别人说的不对。次奥 --------------------编程问答--------------------