2017-05-18 1 views
-2

Javaチュートリアルによれば、静的ネストされたクラスは、その囲むクラスで定義されたインスタンス変数またはメソッドを直接参照することはできません。オブジェクト参照。誰かが私に例を与えることができますか?静的ネストされたクラスで囲むクラスのインスタンスを作成し、インスタンスのインスタンス変数/メソッドを参照する必要がありますか?オブジェクト参照を介してインスタンス変数にアクセスする静的ネストされたクラスのJavaの例

答えて

0

staticネストされたクラスは、名前の与えられたprivateフィールドvalueNestedあなたがMainのインスタンスなしvalueにアクセスすることができないとMainという名前のクラスを考えてみましょう。以下のような、

public class Main { 
    private final int value = 100; 

    static class Nested { 
     static void say(Main m) { 
      System.out.println(m.value); // <-- without m, this is illegal. 
     } 
    } 
} 

valueprivateあるがNestedアクセスそれ(参照m介して)ことができます。

0
class A { 
    public void foo() {...} 
    public static class B { 
    public void bar() { 
     foo(); // you can't do this, because B does not have a containing A. 
     //If B were not static, it would be fine 
    } 
    } 
} 

// somewhere else 

A.B val = new A.B(); // you can't do this if B is not static 
関連する問題