gpt4 book ai didi

java - 访问包含 'this' 对象的对象的字段和方法

转载 作者:行者123 更新时间:2023-11-29 07:59:19 25 4
gpt4 key购买 nike

示例代码:

public class A {
B b = new B();
int a = 17;
}

public class B {
int getA() {
// how to get 'a' field from object containing 'this' object
}
}

我的问题与示例代码中的注释相同。一般而言:如何从包含“this”对象的对象访问字段和方法。在我的示例中,类 B 将仅实例化为类 A 中的一个字段。

最佳答案

如果您的起点是 B 中的代码,那么您不能这样做。无法找到 VM 中所有类都使用了 B 的所有地方。

此外,如果您发现自己想要这样做,则表明您需要重新审视您的类(class)结构。例如,您可以让 BB 构造函数中接受一个 A 参数:

public B(A owner) {
// ...do something with owner object
}

不过,这在 AB 之间引入了相当紧密的耦合,这可能是一个问题。相反,您可以将 B 需要了解的 A 方面抽象到接口(interface)中,让 A 实现该接口(interface),并让 B 接受使用该接口(interface)键入的参数。

或者避免让 B 知道关于 A 的任何信息,这通常是最好的。

关于java - 访问包含 'this' 对象的对象的字段和方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15448163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com