3

オブジェクトを作成したクラスを選択、操作する方法を知っているのだろうか。

コード :

public myclass(){

       public anotherclass a = new anotherclass();    

}

別のクラス:

      //how to use the class that created this class ?
4

4 に答える 4

5

基本的に、できません。他のクラスがインスタンスまたはそれを作成したクラスのいずれかを知る必要がある場合は、コンストラクターを介してその情報を渡す必要があります。例えば:

public class Parent {
    private final Child child;

    public Parent() {
        child = new Child(this);
    }
}

public class Child {
    private final Parent parent;

    public Child(Parent parent) {
        this.parent = parent;
    }
}

(これにより、親インスタンスが子で使用できるようになります。 classのみに関心がある場合は、渡しParent.classて、ChildコンストラクターでClass<?> parentClassパラメーターを使用します。

于 2013-08-07T06:55:48.047 に答える
2

構成によって

AnotherClass に MyClass インスタンスを配置し、そのコンストラクターを作成します。

class AnotherClass {

   private MyClass myClass;

   public AnotherClass(MyClass myClass) {
        this.myClass = myClass;   
   }

   public void domeSomethignWithMyClass() {
       //myClass.get();
   }
}

MyClass メソッドからの作成中に、インスタンスを渡します

public void someMyClassMethod() {
    AnotherClass anotherClass = new AnotherClass(this);
    //...
}
于 2013-08-07T06:56:34.290 に答える
1

myclassパラメータとして取得するコンストラクタを作成できます。

public class Myclass
{
    Anotherclass a;

    public Myclass()
    {
         a = new Anotherclass(this);
    }
}

class Anotherclass
{
    private Myclass m;

    public Anotherclass(Myclass m)
    {
       this.m = m;
    }
}
于 2013-08-07T06:56:24.103 に答える
0

のパラメーターを -object に渡す必要がありmyclassますanotherclass

public anotherclass{

    private myclass object;

    Public anotherclass(myclass object){

        this.object = object;

    }
}

オブジェクトを次のように呼び出します。

public myclass(){

       public anotherclass a = new anotherclass(this);    

}
于 2013-08-07T06:57:01.193 に答える