本文介紹了嘗試在超類中創(chuàng)建繼承類的新對(duì)象時(shí)出現(xiàn)StackOverflow錯(cuò)誤的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我是爪哇新手。有人能給我解釋一下為什么它顯示StackOverflow Error嗎?
public class MainClass {
static Start st = new Start();
public static void main(String[] args) {
st.start();
}
}
public class Start {
Generator objGenerator = new Generator();
void start() {
objGenerator.generator();
}
}
public class Generator extends Start {
void generator() {
//...
}
}
如果Generator類不是從類Start繼承的,則一切正常,但為什么?
推薦答案
Generator繼承自Start
class Generator extends Start
和Start在構(gòu)造上創(chuàng)建Generator:
Generator objGenerator = new Generator();
,下同:
public class Start {
Generator objGenerator;
public Start() {
objGenerator = new Generator();
}
}
Start具有運(yùn)行objGenerator = new Generator()的構(gòu)造函數(shù)。
這將調(diào)用Generator的構(gòu)造函數(shù)。
Generator的構(gòu)造函數(shù)做的第一件事是調(diào)用super()。
super()是Start的默認(rèn)構(gòu)造函數(shù)。
轉(zhuǎn)到%1。
這篇關(guān)于嘗試在超類中創(chuàng)建繼承類的新對(duì)象時(shí)出現(xiàn)StackOverflow錯(cuò)誤的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,






