今天遇到这样一个问题,我个人感觉是不可以的,因为一个程序如果没有主入口,就没法运行。但是不太确定,如果有知道的话,麻烦告诉我一声,先谢谢了
3条回答 默认 最新
- long13131462101 2012-03-10 21:17关注
[code="java"]main 方法可以省略 public ? static ? 返回值可以是 int ? 形参可以省略吗? 可以在main 中调用 main 方法吗?
首先Java规定了main()方法必须是公共的,以便于外部程序对主方法的访问,因为程序都是从main()方法起始的,并且main()方法也必须是静态的,首先,为什么要用public: 因为在运行程序时,jvm要调用main方法,但我们都应该知道jvm是一个软件并不是硬件,并且它与main方法所在的包是不同的,所以jvm要调用main方法时,main方法就必须声明为public;否则jvm就无法找到和调用main方法,此时程序就无法运行。 第二,为什么要用static:
因为如果不适用static,就只能创造一个实例去调用main方法,但是jvm并不知道如何去创造一个实例,而你要创造一个实例时,必须要在main方法里头使用new这个关键字,但此时jvm无法调用main方法,所以就无法创造一个实例去调用main方法,所以main方法必须声明为static。很大程度上这是为了安全性的考虑
因为用static修饰的方法或变量是在编译时运行或分配空间的,main用static修饰后,程序就能自动找到程序的main的入口
第三,为什么要用void:
1、main方法根本就不需要返回值;
2、如果你返回了值,也不能看到,那此时jvm也不知道拿这个返回值来干什么,所以就用void。java中main函数的参数args[ ]怎么使用?参考代码:public class Test {
public static void main (String[] args) {
if (args.length == 0) {
System.out.println ("您调用main方法时没有指定任何参数!");
return;
}
System.out.println ("您调用main方法时指定的参数包括:");
for (int i = 0; i<args.length; i++) {
System.out.println ("参数" + (i+1) + "的值为:" + args[i]);
}
}
}分类: java
[/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 c程序不知道为什么得不到结果
- ¥40 复杂的限制性的商函数处理
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置