java - 让内部类打印预期输出
问题描述
下面是一个分配的程序。请求您帮助以下输出获得“预期输出”。它提供错误为“线程“主”java.lang.StackOverflowError中的异常”。
class A
{
{
new B();
}
static class B
{
{
new A().new C();
}
}
class C
{
{
System.out.println("Expected output");
}
}
}
public class MainClass
{
public static void main(String[] args)
{
new A();
}
}
解决方案
您调用new A()
,调用new B()
,再调用 ,new A()
再调用new B()
,它会一直持续下去,直到您无法再创建新对象(因此StackOverflowError)。
您应该在某个时候停止创建 A() 或 B()
推荐阅读
- gremlin-server - Gremlin HA 配置
- python - 使用导入模块中的父变量
- swift - SpriteKit/UIKit - 如何将 UIView 的位置设置为节点的位置?
- python - Pandas value_counts 根据系列的值类型返回错误
- python - Python中的lxml:抓取只显示英文字符(其他都是乱码)
- r - 如何使用 ggplot 进行分组箱线图?
- javascript - jquery javascript的加法和减法
- python - Python效率检查
- angular - jasmine.clock().mockDate(...) 不适用于 Angular E2E 测试
- c# - Unity 在函数中放置 if 语句