1. ホーム
  2. java

Javaでmainメソッドをオーバーロードすることはできますか?

2023-09-13 20:17:29

質問

をオーバーロードすることはできますか? main() メソッドをオーバーロードできますか?

どのように解決するのですか?

あなたは ができます。 をオーバーロードして main() メソッドをオーバーロードすることができますが public static void main(String[] args) だけが、クラスがJVMによって起動されるときに使われます。例えば

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

    public static void main(String arg1) {
        System.out.println("main(String arg1)");
    }

    public static void main(String arg1, String arg2) {
        System.out.println("main(String arg1, String arg2)");
    }
}

それは 常に プリント main(String[] args) を実行すると java Test ... をコマンドラインから実行したとき、たとえ1つまたは2つのコマンドライン引数を指定したとしても、

を呼び出すことができます。 main() メソッドを呼び出すこともできますが、その場合は通常のオーバーロードの規則が適用されます。

EDIT: JVMの観点から同等であるように、varargsシグネチャを使用することができることに注意してください。

public static void main(String... args)