gpt4 book ai didi

java - 如何从方法更改变量

转载 作者:行者123 更新时间:2023-11-30 05:02:33 25 4
gpt4 key购买 nike

这个问题是一个常见问题,我尝试将某些线程视为 Is Java "pass-by-reference" or "pass-by-value"?How to change an attribute of a public variable from outside the class但就我而言,我需要使用 Singleton 实例修改 boolean 变量。

到目前为止,我有一个类,以及一个更改该类的 boolean 参数的方法。但我想在管理器中分离这个方法。该方案类似于:

public class Test{
private boolean b;
public String getb(){}
public void setb(){}
String test = ClassSingleton.getInstance().doSomething();
}

public class ClassSingleton{
public String doSomething(){
//here I need to change the value of 'b'
//but it can be called from anyclass so I cant use the set method.
}
}

谢谢,大卫。

最佳答案

如果我理解您的要求 - 这可以解决您的问题:

public interface IUpdatable
{
public void setB(boolean newValue);
}

public class Test implements IUpdatable
{
private boolean b;
public String getb(){}
public void setB(boolean newValue) {this.b = newValue;}
}

public class ClassSingleton
{
public String doSomething(IUpdatable updatable)
{
updatable.setB(true);
...
}
}

这样Singleton不需要知道你的Test类 - 它只知道接口(interface) IUpdatable支持设置 B 的值。每个需要设置其B的类字段可以实现接口(interface)和 Singleton可以更新它并且不知道它的实现。

关于java - 如何从方法更改变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6184656/

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