2013-08-07 80 views
3

我不知道如何選擇,操作創建對象的類。創建對象的Java調用類

代碼:

public myclass(){ 

     public anotherclass a = new anotherclass();  

} 

anotherclass:

 //how to use the class that created this class ? 
+1

你能澄清你的問題嗎?你想在另一個類中編輯myClass()對象? –

回答

0

你要通過的參數myclassanotherclass-subject:

public anotherclass{ 

    private myclass object; 

    Public anotherclass(myclass object){ 

     this.object = object; 

    } 
} 

你打電話給你的對象:

public myclass(){ 

     public anotherclass a = new anotherclass(this);  

} 
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; 
    } 
} 

(這是使家長實例提供給孩子 - 如果你只在的類興趣的話,你會通過Parent.classChild構造函數使用Class<?> parentClass參數。

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; 
    } 
} 
2

通過AnotherClass composition

有無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); 
    //... 
}