Java 调用子类对象的方法时出现StackOverflower错误?

Java 调用子类对象的方法时出现StackOverflower错误?,java,object,inheritance,stack-overflow,Java,Object,Inheritance,Stack Overflow,执行测试类会产生StackOverFlow错误:( 父类: package Pack; public class Alpha { protected void sayHi() { System.out.println("Hi...from Alpha"); } } public class test { public static void main(String[] args) { AlphaSub ob=new AlphaSub() ; ob.hi()

执行测试类会产生StackOverFlow错误:(

父类:

package Pack;

public class Alpha {
  protected void sayHi() {
    System.out.println("Hi...from Alpha");
  }
}
public class test {
public static void main(String[] args) {

    AlphaSub ob=new AlphaSub() ;
    ob.hi() ;
}
儿童班:

import Pack.Alpha;

public class AlphaSub extends Alpha {
  AlphaSub sb=new AlphaSub() ;

  void hi() {
    sb.sayHi() ;

  }
}
测试等级:

package Pack;

public class Alpha {
  protected void sayHi() {
    System.out.println("Hi...from Alpha");
  }
}
public class test {
public static void main(String[] args) {

    AlphaSub ob=new AlphaSub() ;
    ob.hi() ;
}

}

堆栈溢出与继承无关,但与此行(在
AlphaSub
内)有关:


您正在您的
AlphaSub
中创建一个新的
AlphaSub
实例,这会导致一个无结束循环。我假设您甚至没有进入测试中的
ob.hi()

您调试过它吗?很抱歉,我将此链接到了继承中。我得到了它。这是由于在它自己的类(子类)中创建了实例。