调用子类 object 的方法时发生 StackOverflowError?
StackOverflowError when calling method of subclass object?
执行测试 class 出现 Whosebug 错误 :(
Parent class :
package Pack;
public class Alpha {
protected void sayHi() {
System.out.println("Hi...from Alpha");
}
}
Child class :
import Pack.Alpha;
public class AlphaSub extends Alpha {
AlphaSub sb=new AlphaSub() ;
void hi() {
sb.sayHi() ;
}
}
测试class:
public class test {
public static void main(String[] args) {
AlphaSub ob=new AlphaSub() ;
ob.hi() ;
}
}
你的 Whosebug 与继承无关,但与这一行(在 AlphaSub
内)有关:
AlphaSub sb=new AlphaSub() ;
您正在 AlphaSub
中创建一个新的 AlphaSub
实例,这会导致无限循环。我假设您甚至没有进入测试
中的 ob.hi()
行
执行测试 class 出现 Whosebug 错误 :(
Parent class :
package Pack;
public class Alpha {
protected void sayHi() {
System.out.println("Hi...from Alpha");
}
}
Child class :
import Pack.Alpha;
public class AlphaSub extends Alpha {
AlphaSub sb=new AlphaSub() ;
void hi() {
sb.sayHi() ;
}
}
测试class:
public class test {
public static void main(String[] args) {
AlphaSub ob=new AlphaSub() ;
ob.hi() ;
}
}
你的 Whosebug 与继承无关,但与这一行(在 AlphaSub
内)有关:
AlphaSub sb=new AlphaSub() ;
您正在 AlphaSub
中创建一个新的 AlphaSub
实例,这会导致无限循环。我假设您甚至没有进入测试
ob.hi()
行