javaのローカルクラスでアクセスできる変数についての質問です。
ローカルクラス(Inner)から外部クラス(Outer)のフィールドにアクセスできる変数の範囲を知りたくて、
以下のコードを書いてみました。
innerMethod内では、Outerクラスのフィールドにアクセスできますが、
Innerクラスのメソッド外では、アクセスできません。
なぜ、メソッド内からはアクセスができて、メソッド外からはアクセスができないのかを
ご教授頂きたいです。
java
public class Outer { int outerField; static int outerStaticField =10; class Inner{ //↓Innerクラスのメソッド外では、エラーがでます。 outerField = 10; outerStaticField = 20; //↓innerMethod内では、Outerクラスのフィールドにアクセスできます。 void innerMethod(){ outerField = 10; outerStaticField = 10; } } }
まだ回答がついていません
会員登録して回答してみよう