0
感謝您提前幫助。我是Java的初學者。我正在使用一個類並定義它的構造函數。第1版是錯誤的代碼的註釋中:Java eclipse:無法解析爲變量
public class QueueByStacks {
// constructor
public QueueByStacks() {
LinkedList<Integer> in = new LinkedList<Integer>();
LinkedList<Integer> out = new LinkedList<Integer>();
}
public Integer poll() {
move();
return isEmpty()? null : out.pollFirst();
// out can not be resolved. But I think out is defined in the constructor then when I call the constructor in the main function then it should be initialized, so why I can not use out here?
}
}
我修改了代碼,它的工作原理:
public class QueueByStacks {
private LinkedList<Integer> in;
private LinkedList<Integer> out;
// constructor
public QueueByStacks() {
in = new LinkedList<Integer>();
out = new LinkedList<Integer>();
}
}
所以我很奇怪,爲什麼第一個版本是錯誤的?我的理解是,當我調用一個類時,實際上我調用了構造函數,因此「in」和「out」應該可以在這些方法中使用。我感謝任何幫助。謝謝。
第一版本,輸入/輸出是局部變量,它的生命週期是剛剛在構造函數方法。 –