gpt4 book ai didi

java - 在 Java 中获取 StackOverFlowError

转载 作者:搜寻专家 更新时间:2023-11-01 01:23:43 28 4
gpt4 key购买 nike

这是我正在编写的程序。我在运行它时收到 StackOverFlowError 异常:

public class maininherit {

maininherit h = new maininherit() {

@Override
public void mai() {
System.out.print("inner");
}
};

public static void main(String[] args){
maininherit t=new maininherit();
t.mai();
}

public void mai(){
System.out.print("hellllll");
h.mai();
}
}

只有当我在内部类中使用 maininherit 类作为引用时,我才会收到 StackOverflowError。如果我使用其他类,我不会收到该错误。谁能给我澄清一下?

抱歉,我非常感谢你的回答,但我怀疑我不知道是否合理,只有当我在同一个类的构造函数中创建实例时,才可能重复初始化。然后怎么可能有多个初始化?

最佳答案

您的内部类的实现只是覆盖了maininherit 类的一部分。所以...您初始化类 maininherit,然后初始化变量 hNew 运算符被调用,然后...内部类 init maininherit 再次需要设置 h 变量。

您的代码是初始化 h 变量的无限循环。

关于java - 在 Java 中获取 StackOverFlowError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5115704/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com