6

Eclipse プロジェクトのデフォルト パッケージに新しい main.java ファイルを作成すると、main次のようなメソッドが生成されます。

public static void main(String[] args)
{
}

これにより、すぐに警告が表示されますThis method has a constructor name。推奨される修正は、次のものを削除することvoidです。

public static main(String[] args)
{
}

警告ではなく、エラーが表示されるようになりました: Illegal modifier for the constructor in type main; only public, protected & private are permitted. を削除するstaticと、コードは次のようになります。

public main(String[] args)
{
}

今回もエラーが発生しますが、次のような別のエラーが表示されます。

Error: Main method not found in class main, please define the main method as:
    public static void main(String[] args)

ぐっ!しかし、それは私が始めたところに戻ってきます。エラーや警告が発生しないようにメイン メソッドを定義するにはどうすればよいですか?

私はEclipse Juno Service Release 2JavaSE-1.7を使用しています。私は Java に非常に慣れていないことに注意してください。私は C# のバックグラウンドを持っています。また、これはおそらく重複した質問ですが、見つかりません。

4

4 に答える 4

5

ファイルに名前を付ける場合main.java、クラスにも名前を付ける必要がありますmain。これは標準に反しますが (クラスは大文字で始まります)、可能です。クラスでは、クラスと同じ名前のメソッドはコンストラクターと見なされます。したがって、問題を修正して標準に合わせるには、クラスとファイルの名前をMain大文字の「M」に変更します

于 2013-04-26T15:36:07.460 に答える
3

クラスの名前をmainからMainまたは別のものに変更します。また、JavaBean API 仕様に従って、クラスは最初の文字が大文字のキャメルケースにする必要があります。

質問とは 100% 関係ありませんが、次のような Java JDK クラスの名前でクラスを作成しないでくださいString

public class String {
    public static void main(String[] args) {
        System.out.println("Try to execute this program!");
    }
}

これは、コンパイラ/JVM だけでなく、将来の読者にも問題を引き起こします (自分のコードの将来の読者でもあることを思い出してください)。

注: 上記のコードを修正するにはjava.lang.String、完全な名前を使用してクラスを参照してください。

public class String {
    public static void main(java.lang.String[] args) {
        System.out.println("Try to execute this program!");
    }
}

または、さらに良いことに、クラスの名前を変更します。

于 2013-04-26T15:35:49.140 に答える
1

Java では、クラス名とファイル名が一致する必要があります。main.java という名前のファイルがある場合、クラス名も Main である必要があり、その場合、コンストラクター メソッドは main という名前になるため、main メソッドを持つことはできません。

ファイル名とクラス名を main 以外に変更します。

于 2013-04-26T15:36:05.333 に答える