簡體   English   中英

Getter 方法返回 0 值

[英]Getter method is returning 0 value

我正在創建一個類 MDA_EFSM,它有兩個變量 int k 和 int[] listA 並創建 setter 和 getter 方法來初始化這兩個變量。 然后我在另一個類中調用 MDA_EFSM 的 getter 方法。 getter 方法應該返回最近設置的值,但它返回“0”。

public class MDA_EFSM {
    int k;
    public int listA[] = {0, 1};   

    public int getK() {
        return k;
    }
    public void setK(int k) {
        this.k = k;
    }

    public int[] getA() {
        return listA;
    }
}

public class State {
    MDA_EFSM mda = new MDA_EFSM();

    public void setMda(MDA_EFSM mdaefsm)
    {
        mda = mdaefsm;
    }
    public MDA_EFSM getMda() {
        return mda;
    }
}

public class S0 extends State{

    public void Insert_cups(int n){
        if (n > 0){
            int value = mda.getK();
        }
    }
}

我在一個類中設置值並從另一個類中獲取該值。 這是該類的代碼片段:

public class S1 extends State{
    public void Insert(int n){
        if (n > 0){
            mda.setK(n);
        }
    }
}

我希望輸出最近設置的值,但 getter 方法返回“0”

您尚未設置任何值。 你得到了 int 的默認值。 順便說一句,我在代碼中看不到您為 int 設置了任何值。

您的每個類 S0 和 S1 都有自己的 MDA_EFSM 實例(順便說一下,您應該閱讀 Java 命名約定)。 您在 S1 中設置了 k 的值,但在 S0 中讀取了另一個 k 的值。 要實現你想要的 k 必須是靜態的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM