这是可以的, 当你用new的时候,这个对才会创建, class Kid { int id; Kid left; Kid right; } 这是合法的,但是如果仅仅是这样的new出来,left,right只是对象的引用而已,也就是都是null。 如果 class Kid { int id; Kid left=new Kid(); Kid right=new Kid(); } 那么就会出先栈溢出的错误,所以综合来看,这样的构造类并不实用。
完全可以。类在没有实例化前就是一个空引用而已。但是这样就不行了: class Kid { int id; Kid left = new Kid(); Kid right = new Kid(); } class test { public static void main(String args[]){ new Kid; } }会引起嵌套错误。因为Kid left = new Kid(); 和 Kid right = new Kid(); 会无限执行下去,内存溢出。
这里是申明了一个类型为Kid的变量!
还没被使用啊!
使用的时候如果不new 会出问题的!
这不就是用java来做数据结构的链表的例子吗?
当你用new的时候,这个对才会创建,
class Kid {
int id;
Kid left;
Kid right;
}
这是合法的,但是如果仅仅是这样的new出来,left,right只是对象的引用而已,也就是都是null。
如果
class Kid {
int id;
Kid left=new Kid();
Kid right=new Kid();
} 那么就会出先栈溢出的错误,所以综合来看,这样的构造类并不实用。
class Kid {
int id;
Kid left = new Kid();
Kid right = new Kid();
}
class test {
public static void main(String args[]){
new Kid;
}
}会引起嵌套错误。因为Kid left = new Kid(); 和
Kid right = new Kid();
会无限执行下去,内存溢出。