プレイ中にこの奇妙なシナリオに出くわしました:-)
Java のドキュメントでは、ファイルにはすべての非パブリック クラスを含めることができ、ファイル名はどのクラスにも一致しないと指定されています。コンパイル後に実行しようとすると、main メソッドが指定されたクラスの 1 つの後でも例外が生成されます。このファイルの main メソッドの実行方法について説明が必要です。
私のテスト コードは、NoPublicClasses.javaという名前のファイルに次のとおりです。
class Class1{
}
class Class2{
public static void main(String[] args){
}
}
それはうまくコンパイルされます。ただし、これを実行しようとすると、例外がスローされます。以下で、私が試したことを確認できます
java NoPublicClasses
上記の場合、例外が発生すると予想していましたが、予想どおりに発生しましたが、実行したときに発生しました
java Class2
また、予期しない例外がスローされました。そのため、理由を説明してくれる親切な人が必要です。または、アクセス修飾子とファイル名またはクラス名を変更せずにこの問題の解決策がある場合は、お知らせください。
ありがとうございます。