Java ネストしたクラスから呼び出すメソッド
Javaでは、内側のクラスで呼び出すメソッドは、外側のクラスのメソッドでも、内側のクラス自身のメソッドでも構いません。内側のクラスが外側のクラスのメソッドを呼び出すには、次の構文を使用できます。 “`java 外側のクラス名.this.外側のクラスのメソッド名(パラメーターリスト); “` ここで、`外側のクラス名.this`は、現在の内側のクラスが属する外側のクラスオブジェクトを表します。内側のクラスが自身メソッドを呼び出す場合は、メソッド名を使用して直接呼び出すことができ、接頭辞は必要ありません。内側のクラスが外側クラスの非静的メンバー変数またはメソッドにアクセスする場合、外側クラスのオブジェクトを作成してアクセスする必要があることに注意してください。たとえば、次のようになります。 “`java 外側のクラス名 外側クラスオブジェクト = new 外側のクラス名(); 外側クラスオブジェクト.メンバー変数名; 外側クラスオブジェクト.メソッド名(); “` 外側のクラスのメンバー変数またはメソッドが静的な場合は、クラス名を使用して直接アクセスできます。たとえば、次のようになります。 “`java 外側のクラス名.静的メンバー変数名; 外側のクラス名.静的メソッド名(); “` さらに、内側のクラスのオブジェクトを作成して内側のクラスのメソッドを呼び出すこともできます。たとえば、次のようになります。 “`java 外側のクラス名.内側のクラス名 内側クラスオブジェクト = new 外側のクラス名().new 内側のクラス名(); 内側クラスオブジェクト.メソッド名(); “` この方法は、非静的な内側のクラスに適用されます。内側のクラスが静的な場合は、クラス名を使用して直接内側のクラスのオブジェクトを作成できます。たとえば、次のようになります。 “`java 外側のクラス名.内側のクラス名 内側クラスオブジェクト = new 外側のクラス名.内側のクラス名(); 内側クラスオブジェクト.メソッド名(); “` 一般に、内側のクラスは自身のメソッドを直接呼び出すことも、外側のクラスオブジェクトを使用して外側のクラスのメソッドを呼び出すこともできます。