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

您必须将参数传递myclassanotherclass-object:

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 回答