是否可以重载主要方法?如果是,从哪种方法jvm将开始执行?是否可以重载主方法?
回答
是的。主要方法可以像Java中的其他方法一样重载。
通常的声明主要是
public static void main(String[] args) throws Exception;
当您启动Java应用程序,它看起来与名称“main
”,返回类型“void'
和字符串数组的一个参数的静态方法。即你所抛出的东西在解决这个方法中并不重要。
重载提供了多个具有相同名称但参数不同的方法(以及可能的返回类型)。
通过上面的说明,我们可以重载主要方法。
通常的main声明是“public static void main(String [] args)”抛出异常。主要应该正确地处理异常,而不是向用户显示堆栈跟踪! – TofuBeer 2010-01-01 08:05:42
是的。可以重载的主要方法,但下面的方法将在您执行类是执行:
可以重载的主要方法,但JVM将始终具有以下签名启动的主要方法:
public static void main(String[] args);
根据Java语言规格:
的方法主要必须声明 公共,静态和无效的。它必须接受一个参数 字符串数组。
http://java.sun.com/docs/books/jls/third_edition/html/execution.html(12.1.4)
所以,只有你过载的public static void main(String[] args)
将被执行。
正如其他人,很可能的,但说,执行将始终从
一个小程序开始演示:
public class Test{
public static void main(String [] args){
System.out.println("First");
main();
}
public static void main(){
System.out.println("Second");
}
}
输出:
First Second
是您可以。 jvm足够聪明,知道应该加载哪一个,因为它查看与主方法匹配的方法声明,并且是合乎逻辑的。主要方法声明的部分做出完美的感觉,当你觉得像“JVM”和画面的主要方法做什么(启动应用程序):
public
,因为这种方法必须由JVM访问(不由你写的)。static
,暗示这个方法可以在没有对象的情况下被访问(因为它的表示永远不会改变),但是如果你再次像jvm一样思考,这个逻辑很容易被理解; “我没有任何对象来创建(实例化)对象,所以我需要一个静态方法来启动应用程序,因为根本没有任何合乎逻辑的方法来获取特定于实例的方法,因为我没有任何东西尚未创造物体“。void
此方法无法在逻辑上返回任何内容,因为没有任何内容尚未返回任何内容。这是应用程序的起点。main
我是没有我的主要方法,你将不会有应用程序。String[] args
向我发送可能对我的启动有用的数据。
是的,我在一年前因为要求一个关于主题的问题被禁止了,这个问题对我的经历产生了严重的影响,因为我基本上与主站点隔离,提出与正确使用SO和姐妹站点有关的问题。我通过联系他们提出了这个问题,并没有发生任何事。尽管那时我正在接受化疗,并从大脑手术中恢复过来。 – thejartender 2012-06-11 14:33:30
最终化学/脑部手术,而PITA,与SO内容无关 - 这是主持人和开发人员所关注的(这是合理的)。你所能做的就是再试一次,我建议你这样做 - 最糟糕的情况是什么都没有。 – 2012-06-11 14:36:12
此外,我得到的回应是“改善我的问题”如何改进删除的问题? – thejartender 2012-06-11 14:36:25
以String作为参数的主要方法是程序的默认入口点。 您可以重载,但不会改变程序的入口点。
- 1. Web方法是否可以重载?
- 2. 是否可以重新加载MapView?
- 3. 是否可以重新加载CLR?
- 4. 是否可以使用LD_PRELOAD覆盖主要方法?
- 5. 是否可以从主要方法运行NUnit测试
- 6. 是方法重载不可能
- 7. 是否有可能重载webservices中的方法?
- 8. 是否可以从已有主方法的类调用main方法?
- 9. 是否有可能重载基于另一种方法的方法?
- 10. 是否可以从返回JsonResult的方法下载文件?
- 11. 是否可以“内联”一个“方法”?
- 12. 是否可以在运行时重写一个方法?
- 13. 是否可以重构此扩展方法?
- 14. 是否可以将基类的Scala方法重命名?
- 15. 这是否是重载方法的不良做法?
- 16. 是否可以在delphi中更改方法体(重写对象方法)?
- 17. 是否可以重置ServicePointManager?
- 18. 是否可以重用ProjectInstaller?
- 19. 是否可以重写drupal_build_css_cache?
- 20. 是否可以重用NSKeyedUnarchiver?
- 21. 是否可以重复getopt
- 22. ASIHTTPRequest是否可以重试?
- 23. 是否可以让C++方法接受const char *和const wchar_t *作为参数而不会重载方法?
- 24. 是否可以确定实例方法是否在原型方法中调用?
- 25. 是否可以轻轻推敲装载在主页上的div?
- 26. 是否可以编写一个创建方法的方法?
- 27. 方法1是否可以将kwargs传递给方法2?
- 28. 是否可以识别WordPress主题?
- 29. 是否可以反映主办大会?
- 30. 是否可以在不终止程序的情况下退出主方法?
嗯...这是一个家庭作业/测验问题? – notnoop 2010-01-01 07:26:34
我想是这样的...还有另一个类似的问题由同一用户发布 – 2010-01-01 08:13:45