Hyd*_*xia 1 java stack-overflow recursion javafx subclass
我的超类:
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)
MyPoint扩展Node,因此当您创建实例时MyPoint,您首先必须初始化其父实例Node.这意味着初始化myPiont成员等等,直到你得到一个StackOverflowError.
这里没有足够的上下文来建议更改,但您可能应该失去此成员.
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |