2013-01-23 86 views
0

我可能會使用不正確的術語,提前抱歉。 我需要從位於外部類的實例中的另一個類的實例訪問屬性。將有兩個Outer類的實例,我需要爲它們中的每個單獨存儲和處理屬性「desiredProperty」。 注意:所有類都不同。 Inner1和Inner2不是同一類! 這是一個簡單的例子。Java如何在外部類的實例中訪問另一個類的實例的屬性?

文件1:

public class Outer{ 

public Inner1 inner1 = new Inner1(); 
public Inner2 inner2 = new Inner2(); 

} 

文件2:

public class Inner1 { 

int desiredProperty=1; 

} 

文件3:

public class Inner2{ 

public int getDesiredProperty(){ 

//How can I here access the property DesiredProperty from Inner1? 

} 

} 
+1

你需要有一個實例的引用Inner1。這些課程是否以任何方式相關(或稱爲外部和內部)? – Thilo

回答

2

的Inner2類需要有一個實例屬性Inner1

public class Inner2{ 

private Inner1 inner1; 

public Inner2(Inner1 inner1){ 
    this.inner1 = inner1; 
} 

public int getDesiredProperty(){ 
    return inner1.getDesiredProperty();  
} 

} 
+0

謝謝!幫了很多。 – lozga

0

首先要在Inner1類的setter getter函數,對Inner1

public class Inner1 { 

int desiredProperty=1; 
public int getDesiredProperty() 
{ 
    return this.desiredProperty; 
} 

public void setDesiredProperty(int val) 
{ 
    this.desiredProperty = val; 
} 

} 

和Inner2類,這樣就可以得到/設定值

public class Inner2{ 

public int getDesiredProperty(){ 

//How can I here access the property DesiredProperty from Inner1? 
Inner1 inner1 = new Inner1(); 
return inner1.getDesiredProperty(); //value from Inner1 
} 

} 
相關問題