gpt4 book ai didi

java - 访问其他地方的类的字段?

转载 作者:行者123 更新时间:2023-12-02 08:40:35 26 4
gpt4 key购买 nike

如何在 Y 类中的非静态方法中访问 z 实例?

class X {
Y y = new Y();
Z z = new Z();
y.doSomething();
}

class Y {
void doSomething() {
z.foo();
}
}

最佳答案

如果z是非静态的,这意味着它不属于类,而是属于该类的特定实例。因此,您只能通过引用持有某个实例来访问它。

您可以使用 doSomething 中的实例创建此类引用方法,但这很少是个好主意。通常我们只是将实例作为其参数传递给方法,例如

void doSomething(X someX){
someX.z.foo();
}

通常,如果字段是私有(private)的会更好,如果您想访问它,请创建 getter 方法),所以现在您可以像 y.doSomething(x) 那样调用它.

您也无法调用y.doSomething(x);在类级别,您需要将其放置在代码块中,例如构造函数、方法或初始化 block 。

关于java - 访问其他地方的类的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32429572/

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