我在想这样做会不会出现无限递归的情况 new 一个Stu对象出来里面又new一个Stu对象,这样就没完没了了
就是在构造这个 stu 对象的时候,同时用 f 引用他,也就是 f = s (注:Stu s = new Stu()) 这么说,您明白么?
我只是想用 f 指向 s 指向的这个stu对象
可以用的啊,你把Stu f 声明改成public Stu f,然后你试试,可以访问的,指向同一个对象
可以用啊,但你这不多此一举吗? public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("hello\n"); Stu s = new Stu(); System.out.println(s.f.id);//用s.id会更直接些! }} class Stu{ int id; Stu f; Stu() { id = 3; f = this; //想用 f 指向刚 new 的这个对象 } }
new 一个Stu对象出来里面又new一个Stu对象,这样就没完没了了
这么说,您明白么?
public class Test { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("hello\n");
Stu s = new Stu();
System.out.println(s.f.id);//用s.id会更直接些!
}}
class Stu{
int id;
Stu f;
Stu() {
id = 3;
f = this; //想用 f 指向刚 new 的这个对象
}
}
在类中可以定义该类类型指针的变量,然后用this指针给它赋值,这个没问题。
不太懂java,C++是这样的。