2017-11-20 28 views
0

これは本当にばかなかもしれないので、私はまだJavaに新しいですが、私はここで私たちが行く答えを見つけることができませんでした!私のコードの冒頭では、クラスを宣言しようとしていますが、 "public class robot {}"を使うだけで、 "ローカルクラス__の不正な修飾子です。抽象的または最終的なものが許されます"というエラーが表示されます。私はどこでもインターネットを見て、それは静的なクラスとは言わないが、私はそうではない!これは本当にばかなことかもしれませんが、私はまだ新しいので、まだ分かりません。助けてください!ここに私のコードは次のとおりです。ローカルクラスエラーの不正な修飾子


public class Robot 
{ 
private String dir = "N"; 

public Robot(String dir) 
{ 
    this.dir = dir; 
} 
} 
+2

Robot.javaファイルには他に何がありますか?あなたがRobot.javaで持っているものだけであればあなたのコードは正しい – Vadim

答えて

0

つだけのクラスは、1つのJavaファイルでパブリックにすることができ、あなたが同じファイルにmainメソッドを含めている場合のみ、そのクラスは、パブリック宣言することができます。

今すぐあなたのコードを解決:削除公共キーワードのみ

1
ローカルクラス____ため

修飾子が正しくありません。のみabstractまたはfinalは、そのエラーメッセージに注意する「キーワードは」ローカルある

を許可されています。

エラーメッセージがJava言語仕様§14.3 Local Class Declarationsでこの句の結果である:

これは、ローカルクラス宣言がアクセス修飾子publicprotected、またはprivateのいずれかが含まれている場合は、コンパイル時のエラーです(§6.6)、修飾子static§8.1.1)です。 local class

メソッド内部宣言されたクラスです。

クラスをソースファイル.javaに移動します。とにかく、クラスがメソッド内のスコープ内にあるときは、それをパブリック宣言するのは意味がないため、publicキーワードを削除してください。