为啥主要方法应该是静态的[重复]
Posted
技术标签:
【中文标题】为啥主要方法应该是静态的[重复]【英文标题】:Why the main method should be in static [duplicate]为什么主要方法应该是静态的[重复] 【发布时间】:2014-11-02 11:59:19 【问题描述】:以下代码给出了错误,因为我没有将静态关键字放在主方法中。请解释为什么 main 方法在没有 static 关键字的情况下不起作用。
public class Test
public void main(String args[])
try
int a = new Integer(10);
System.out.println(a);
catch (Exception e)
System.out.println(e);
Error:
Main 方法在 Test 类中不是静态的,请将 main 方法定义为:
public static void main(String[] args)
【问题讨论】:
因为没有类实例可供JVM调用main
方法。这是语言的要求,为什么还要它?
因为在实例级别放置“入口”函数是没有意义的。此外,它会在加载类时出现。 JVM 不需要 Test
的实例来调用它。
【参考方案1】:
由于main方法是static
Java virtual Machine
可以在不创建任何包含main方法的类的instance
的情况下调用它。
如果 main 方法未声明为静态,则 JVM
必须创建 main Class
的实例,并且由于构造函数可以重载并且可以有参数,JVM
没有任何确定且一致的方法可以在其中找到 main 方法Java。
另请参阅this 以获得详细且解释清楚的答案。
【讨论】:
以上是关于为啥主要方法应该是静态的[重复]的主要内容,如果未能解决你的问题,请参考以下文章