这是Java执行程序时调用的第一个方法?

时间:2010-11-16 13:05:58

标签: java

我正在学习核心Java,我有一个问题,“哪个是执行程序时调用的第一个方法?”

5 个答案:

答案 0 :(得分:9)

那将是main方法。

应该声明为

public static void main(String[] args)
  • 它必须是public,因为JVM应该有权调用该方法。
  • 它必须是static,因为程序启动时没有实例化对象
  • 它需要一个String s数组作为参数(来自命令行)

一些好的链接可以看一下:


有些人可能会建议你写

public static void main(String... args)

这相当于String[] args ,如果您使用的是1.5或更高版本的编译器。 (除非你在内部用不同数量的参数广泛调用你的main方法,否则我会劝阻你。)

其他人可能会建议

public static void main(String args[])

这也是等效的,但Java Coding Convention不鼓励。

答案 1 :(得分:5)

通常是主要的。但在这个计划中,它很痛苦:

public class WhatThe {
    public static final int x = pain();
    public static int pain() {
        System.out.println("pain!");
        return 0;
    }
    public static void main(String[] args) {
        System.out.println("main");
    }
}

就像这一样:

public class WhatThe {
    static {
        pain();
    }
    public static void pain() {
        System.out.println("pain!");
    }
    public static void main(String[] args) {
        System.out.println("main");
    }
}

这不太可能是有用的知识,但需要注意的事项。

答案 2 :(得分:4)

public static void main(String ar[])

Java程序开始在main方法上执行,该方法具有以下方法标题:

public static void main(String[] args)
public static void main(String... args) //java 1.5+
public static void main(String args[])

Read more at docs

答案 3 :(得分:3)

除了aioobes回答

启动简单java程序的常用方法是执行java,如下所示:

java com.example.MyClass

com.example.MyClass(或您的完全限定的类名称)需要以使用具有此签名的主方法:

public static void main(String[] args)

(您只能更改参数的名称,例如arguments而不是args)。虚拟机将尝试加载命名类并尝试调用这个“启动Java程序”的静态方法。

答案 4 :(得分:0)

The main method will be called first,control goes to main method first which has the method headings: public static void main(String[] args) or public static void main(String args[])