gpt4 book ai didi

java - 访问在不同类中调用的另一个类

转载 作者:行者123 更新时间:2023-12-01 18:20:51 27 4
gpt4 key购买 nike

我想更改一个类中已在另一个类中调用的变量。

例如:

A级

public class classA{
public static void main(String[] args) {
classB b = new classB();
classC c = new classC();
b.setX(10);
c.printX();
}

B级

public class classB{
public void setX(int i){
classC c = new classC();
c.setX(i) <------ this makes a new class so its changing this
classes x variable and not the one i called in class a.
}

C级

public class classC{
int x;

public void setX(int i){
x = i;
}

public void printX(){
System.out.println();
}
}

控制台返回 null。

基本上,在 B 类中,我正在创建 C 类的新实例,但我想使用 A 类中调用的相同类,而不是 B 类。

顺便说一句,这是一个示例代码。这是我可以简化其他程序所做的最好的事情,而无需将所有代码粘贴到此处。

好的,我解决了。我刚刚将我之前使用的类传递给了其他方法。我不知道你能做到这一点,哈哈

最佳答案

只需将 C 类作为参数传递即可:

public class classB{
public void setXinClass(C cClass, int i){
cClass.setX(i);
}

或者,如果您想在 B 类对象的整个生命周期中保存 C 类实例,您可以在 B 类中保存 C 类实例:

public class classB{
private C cClass = null;

public classB(C cClass){
this.cClass = cClass;
}

public void setXinClass(int i){
this.cClass.setX(i);
}

如果您对 C 类进行更多操作,第二个版本会更好。如果您始终使用 C 类引用,那么每次将其作为参数传递就不太可取。

关于java - 访问在不同类中调用的另一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27695867/

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