小编Hyd*_*xia的帖子

制作子类时的StackOverflowError

我的超类:

public class Node {
    public MyPoint myPoint = new MyPoint();
}
Run Code Online (Sandbox Code Playgroud)

我的空子类:

public class MyPoint extends Node {

}
Run Code Online (Sandbox Code Playgroud)

下面的问题是最接近我能找到的问题,但是在这种情况下,我的子类是空的,没有构造函数.

从超类调用子类构造函数

我收到以下错误:

Exception in thread "JavaFX Application Thread" java.lang.StackOverflowError
...
at engine.MyPoint.<init>(MyPoint.java:3)
at engine.Node.<init>(Node.java:28)
at engine.MyPoint.<init>(MyPoint.java:3)
at engine.Node.<init>(Node.java:28)
at engine.MyPoint.<init>(MyPoint.java:3)
at engine.Node.<init>(Node.java:28)
...
Run Code Online (Sandbox Code Playgroud)

我不明白为什么以及如何在我看来没有递归.这怎么样

public MyPoint myPoint = new MyPoint();
Run Code Online (Sandbox Code Playgroud)

与此不同(例如在JavaFX中),创建新组时不会给我错误吗?

public Group group = new Group();
Run Code Online (Sandbox Code Playgroud)

java stack-overflow recursion javafx subclass

1
推荐指数
1
解决办法
60
查看次数

标签 统计

java ×1

javafx ×1

recursion ×1

stack-overflow ×1

subclass ×1