爲什麼在同一類的實例中創建非靜態實例時發生堆棧溢出錯誤?爲什麼在實例中創建非靜態實例時發生堆棧溢出錯誤?
public class ObjectTest {
ObjectTest instanceObj = new ObjectTest("Outside");
public ObjectTest(String s) {
System.out.println(s);
}
public static void main(String[] args) {
ObjectTest localObj = new ObjectTest("Inside");
}
}
但問題得到由如下修改解決:
static ObjectTest instanceObj = new ObjectTest("Outside");
據瞭解,像循環依賴關係發生在第一種情況下,同時賦予新的對象來instanceObj
參考
誰能澄清整個事情??爲什麼靜態引用循環依賴不會發生?
謝謝大家...雖然我意識到靜態/非靜態的概念..但是現在我明白了......我有點困惑......再次感謝! – 2013-03-26 18:49:31
完成Sotirios! – 2013-03-26 18:53:44