亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java中如何改變私有變量的值

java中如何改變私有變量的值

HUWWW 2021-08-04 16:40:29
我從昨天開始用 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,以便另一個類可以獲得值"This should be changed"?
查看完整描述

3 回答

?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

如果您只想使此代碼起作用,您也可以將 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() 訪問它。


查看完整回答
反對 回復 2021-08-04
?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

設置私有變量值的方法是通過類中的 setter 和 getter 方法。


下面的例子


public class Test {

   private String name;

   private String idNum;

   private int age;


   public int getAge() {

      return age;

   }


   public String getName() {

      return name;

   }


   public String getIdNum() {

      return idNum;

   }


   public void setAge( int newAge) {

      age = newAge;

   }


   public void setName(String newName) {

      name = newName;

   }


   public void setIdNum( String newId) {

      idNum = newId;

   }

}


查看完整回答
反對 回復 2021-08-04
?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

你必須調用你的main()函數。


在另一堂課中:


itsAClass aClassObj = new itsAClass();


aClassObj.main();

// or rather itsAClass.main() as it is a static function

// now A's value changed


System.out.println(aClassObj.something());


查看完整回答
反對 回復 2021-08-04
  • 3 回答
  • 0 關注
  • 376 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號