为什么这个对象导致堆栈溢出?

 我-是二毛控控控_ 发布于 2023-02-13 18:39

我不确定为什么会导致堆栈溢出.我知道如果我在没有实例的情况下调用someMethod方法它可以正常工作,但我想知道原因.谢谢

class test {

public static void main(String[] args) {
    test item = new test();
    item.someOtherMethod();
}

test item2 = new test();

void someOtherMethod() {
    item2.someMethod();
}

void someMethod() {
    System.out.println("print this");
}

}

Cruncher.. 5

test item2 = new test();

这是您班级中的实例变量test.当你创建一个实例时test,它将创建一个新实例test并分配给它item2.但是test必须制作一个test并将其分配给它item2等等......你得到无限递归,所以你会很快得到任何堆栈的堆栈溢出

1 个回答
  • test item2 = new test();

    这是您班级中的实例变量test.当你创建一个实例时test,它将创建一个新实例test并分配给它item2.但是test必须制作一个test并将其分配给它item2等等......你得到无限递归,所以你会很快得到任何堆栈的堆栈溢出

    2023-02-13 18:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有