主题:java数据结构问题
Oo光光oO
[专家分:160] 发布于 2007-01-31 18:41:00
public class TreeNode {
xianlu self = new xianlu();
TreeNode father = new TreeNode();
TreeNode child = new TreeNode();
TreeNode brother = new TreeNode();
}// 树结点结构
这样定义一个类,在调用时会出现,java.lang.StackOverflowError错误,应该怎么弄啊?
回复列表 (共6个回复)
沙发
skybtone [专家分:160] 发布于 2007-01-31 18:46:00
class A{}里A的实例不能作为类A的字段吧~~~
板凳
雪光风剑 [专家分:27190] 发布于 2007-01-31 19:23:00
1楼正解,这样定义会引起结构无限循环
这和c里struct的成员不能是本struct一样
3 楼
Oo光光oO [专家分:160] 发布于 2007-01-31 19:27:00
public class TreeNode {
String linepre = "";
String linenext = "";
String lineid = "";
TreeNode father;
TreeNode child;
TreeNode brother;
public TreeNode()
{
father=null;
child=null;
brother=null;
}
}// 树结点结构
对吧?
4 楼
skybtone [专家分:160] 发布于 2007-01-31 20:07:00
那就这样写吧~~
class TreeNode {
private String linepre = "";
private String linenext = "";
privateString lineid = "";
//... ...
//写实现操作的方法
}
public class Test
{
private TreeNode father;
private TreeNode child;
private TreeNode brother;
public Test()
{
father=null;
child=null;
brother=null;
}
//... ...
public static void main(String[] args)
{//... ...}
}//
5 楼
skybtone [专家分:160] 发布于 2007-01-31 20:09:00
当然,这里Test的构造函数里,也应该对 三个 关系结点 进行new操作.只写...=null是不够的.不过无法实现操作
6 楼
Oo光光oO [专家分:160] 发布于 2007-01-31 20:21:00
谢谢了啊
我来回复