首页 > 解决方案 > 如何在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"

标签: java

解决方案


如果您只是想让这段代码工作,您也可以将 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() 访问它。


推荐阅读