执行Test类会产生StackOverFlow错误:(
家长班:
package Pack;
public class Alpha {
protected void sayHi() {
System.out.println("Hi...from Alpha");
}
}
儿童班:
import Pack.Alpha;
public class AlphaSub extends Alpha {
AlphaSub sb=new AlphaSub() ;
void hi() {
sb.sayHi() ;
}
}
测试类:
public class test {
public static void main(String[] args) {
AlphaSub ob=new AlphaSub() ;
ob.hi() ;
}
}
答案 0 :(得分:2)
您的stackoverflow与继承无关,但是使用此行(在AlphaSub
内):
AlphaSub sb=new AlphaSub() ;
您正在AlphaSub
内创建一个新的AlphaSub
实例,这会导致一个endleess循环。我假设您甚至没有进入测试中的ob.hi()
行