2017-03-25 18 views

答えて

1

あなたはこの意味でください:

public class foo { 

    private String var1;//<<---------- 
    private String var2;//<<---------- 

    class bar { 

     public bar(String str) { 
      foo f = new foo(str, str);//<<----call your constructor 
     } 
    } 

    public foo(String a, String b) { 
     System.out.println(a + "," + b); 

     //set values to your attribute 
     this.var1 = a;//<<------------set value 1 
     this.var2 = b;//<<------------set value 2 
    } 
} 
+0

fooにはいくつかの変数があり、fooのconstuctorをbarで呼び出すことによってそれらを設定する必要があります。 –

+0

これについての例を挙げて、@NaimBerkTumerの詳細を理解できますか? –

+1

@NaimBerkTumer私は内部クラスとサブクラスを混乱させると思います。あなたがしたいことは、内部クラスではなくサブクラスで実行可能です。 – BackSlash

0

単にこの

 foo obj = new foo("hello", "world"); 
0

Link to the Java documentation

を行うInnerClassのインスタンスのみ OuterClassのインスタンス内に存在し、直接アクセスすることができますそのインスタンスの のメソッドとフィールドe。

内部クラスをインスタンス化するには、まず外側の クラスをインスタンス化する必要があります。次に、 構文を使用して、外側オブジェクト内の内側オブジェクトを作成します。

OuterClass.InnerClass innerObject = outerObject.new InnerClass();

fooのコンストラクターは2つの引数を受け入れるため、それらのオブジェクトを作成する必要があります。 また)(空のコンストラクタを作成し、次のように

//外部クラスをインスタンス化

fooという新しい=外側のFOOをそれを使用することができます。

// outer.new =インナーバー( "世界")FOO.BAR内部クラス

のインスタンス化。

関連する問題