我不想更改签名的public static void . String[] args部分,但是否可以“重命名”此函数(例如。只是为了好玩)?
因此,执行的入口点将是另一个名称的函数。
将其重命名为,类似于boot (如果不是历史的话,什么可以更好地反映在我的特定情况下对它的实际使用)。
相关
我对做一些不同的事情很感兴趣,但这些问题仍然很有趣:
发布于 2012-06-08 10:55:33
不是的。Java语言规范说:
Java虚拟机通过调用某个指定类的方法
main开始执行,传递给它一个参数,这是一个字符串数组。
JVM规范也是这么说的:
然后,Java虚拟机链接初始类,初始化它,并调用公共类方法
void main(String[])。
发布于 2012-06-08 10:56:22
简单回答:不,原因,规格说明是这样的,JVM只会寻找main而不是任何自定义名称作为起点。它必须被称为main,并带有确切的签名public static void main(String[] args)。
从逻辑上讲,JVM如何知道它必须寻找boot或其他东西,而不是main方法,除非java命令有一个选项来传递start方法。
但这是无缘无故地要求太多。
其次,由于它的标准化,它也帮助开发人员社区,无论谁看代码都知道如何运行一个给定的Java独立程序,或者说如果您有一个项目,您的第一点将始终是寻找主要的方法,然后您将继续前进。
发布于 2012-06-08 10:56:00
不是的。根据Java语言规范,您不能这样做。但是如果您愿意,因为Java是一个开放源码项目,所以下载Java语言的完整源代码并相应地修改它(我的意思是更改JVM本身的源代码)。这是你唯一能做到的。
所以现在你可以理解,为什么我说这是不可能的。
https://stackoverflow.com/questions/10947464
复制相似问题