Java如何在外部类的实例中访问另一个类的实例的属性?

时间:2013-01-23 07:06:14

标签: java class instance

我可能会使用不正确的条款,对不起。 我需要从位于外部类的实例中的另一个类的实例访问属性。类Outer将有两个实例,我需要分别为每个实例存储和处理属性“desiredProperty”。 注意:所有课程都不同。 Inner1和Inner2不是同一个类! 这是一个简单的例子。

文件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?

}

}

2 个答案:

答案 0 :(得分:2)

Inner2类需要为Inner1

设置实例属性
public class Inner2{

private Inner1 inner1;

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

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

}

答案 1 :(得分: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
}

}