[英]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.