次の簡単なコードがあります
public class Tester {
static class TesterChild {
public static void main(String args[]) {
System.out.println("Test");
}
}
}
それはうまくコンパイルされます。しかし、実行すると次のエラーが発生します
[aniket@localhost src]$ java Tester
Error: Could not find or load main class Tester
質問は、静的内部クラスでメイン メソッドを定義できないのはなぜですか?
Update1 :
回答/コメントで指定されているように、コードを次のように変更しました
public class Tester {
public static class TesterChild {
public static void main(String args[]) {
System.out.println("Test");
}
}
}
コンパイルしたところ、2 つのクラス ファイルTester.class
とTester$TesterChild.class
. しかし、それでもエラーが発生します
[aniket@localhost Desktop]$ java Tester$TesterChild
Error: Could not find or load main class Test
更新 2:
さて、現在のディレクトリをクラスパスに含めて実行しましたが、まだエラーが発生しています
[aniket@localhost Desktop]$ java -cp . Tester$TesterChild
Error: Main method not found in class Tester, please define the main method as:
public static void main(String[] args