重複の可能性:
Java内部クラスと静的ネストクラス
静的内部クラスのインスタンスは、それを囲むクラスのインスタンスメンバーにアクセスできませんが、非静的内部クラスのインスタンスはアクセスできます。これが構文の違いの意味です。内部クラスを静的であると宣言するかどうかによって、プログラムの構文が正しいかどうかが決まるためです。
しかし、Java構文の一部ではない他の違いはありますか?クラスAが最上位クラスであり、クラスBがAの内部クラスであるとします。B内のAのインスタンスメンバーにアクセスしない場合は、Bを静的であると宣言する必要があります。しかし、私はそうする必要がないので、Bを非静的であると宣言することができ、コンパイルエラーは発生しません。したがって、この場合、おそらく生成されたバイトコードに違いはありますか、それとも実行時の違いはありますか?
ありがとう!