我有三个类 A 类设置值,B 类创建 getter 和 setter,B 类获取值(在 A 类中设置)
因为我在 A 类和 C 类中创建了 B 类的新实例。我无法在 A 类中设置的 C 类中获取值。
我承认的是我们需要将对 C 类实例的引用从 A 类传递到 B 类。
但是我不知道怎么做。
我试过这段代码。我知道结果是不可能的。我不知道该怎么做。
public Class A {
int X = 9;
B b = new B();
b.setValue(X);
}
public Class B {
private float value = 0;
public float getValue() {
return value;
}
public void setValue(float value){
this.value = value;
}
}
public Class C {
B b = new B();
final float x = b.getValue();
}
我希望当我在 C 类中使用 B 类的 getValue() 方法时,我能够通过 setValue() 方法获取 A 类中的值
最佳答案
每当您使用“new”关键字创建一个对象时,请记住您正在创建一个新对象并为其分配一个新的内存空间。 现在在类C中,当你新建一个B的对象时,会为这个实例b分配一个新的内存空间。 (此实例 b 与类 A 中的 b 指向的内存位置不同) 创建对象后,您立即调用 b.getValue(),它只会为您提供默认值“value”。
when I use getValue() method of class B in Class C. I am able to get the value putted in Class A by setValue() method
为了得到A中设置的值,需要调用b的getValue() -- 属于 A 类的对象 b (而不是在类 C 中声明的对象 b)
因此您需要在 C 类中使用 a.b.getValue()
访问它。
关于java - 如何获取在 A 类中设置的 C 类中的 getter 值(在 B 类中声明),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53928111/