java - 如何在java中更改私有变量的值
问题描述
我从昨天开始用 Java 编程,我有我整个程序员生命中最大的问题(从昨天开始)。
例如,假设我有这样的代码:
public class itsAClass {
static private String A;
public static void main() {
A = "This should be changed";
}
public String something() {
return A;
}
}
我想something()
在另一个类中使用该方法来获取 的字符串句子A
,但我只得到了null
. 如何更改 的值A
,以便另一个 Class 可以获取 Value "This should be changed"
?
解决方案
如果您只是想让这段代码工作,您也可以将 something() 设为静态。
但这不是解决这个问题的正确方法。
如果您想在主类中保存代码,您可以执行以下操作:
public class AClass {
private String a;
public static void main() {
AClass myC = new AClass();
myC.setA("This should be changed");
// than use myC for your further access
}
public String something() {
return a;
}
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
}
如果您想通过外部类访问它而不直接引用,您可以签出单例模式。
public class AClass {
private final static AClass INSTANCE = new AClass();
private String a;
public static void main() {
getSingleton().setA("This should be changed");
}
public String something() {
return a;
}
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
public static AClass getSingleton() {
return INSTANCE;
}
}
这样您就可以从代码的任何位置通过 AClass.getSingleton() 访问它。
推荐阅读
- google-sheets - 根据工作表中的下拉菜单选择行的值
- android - 为什么我们的 ReactNative 应用在 Android 手机上使用时会变慢?
- google-apps-script - 如何使用 Javascript 仅删除工作表中最近 3 天的数据?
- makefile - CMake 错误:此项目中使用了以下变量,但它们设置为 NOTFOUND。X11_XTest_LIB(高级)
- excel - 如何在基于单元格值的子文件夹中创建子文件夹 用另一个值命名新文件夹
- javascript - 将标头发送到客户端后无法设置标头错误(Node/Express noob,其他解决方案似乎不起作用或不理解它们))
- android - Google Firestore 保存用户输入 Kotlin
- java - 添加自定义 beanpostprocessor 并尝试获取属于类的 bean 时,没有符合条件的 bean 类型异常
- delphi - 尝试释放带有对象的 StringList 时的复杂问题使我的应用程序崩溃
- excel - 使用电源查询合并excel中的表