Stu s = new Stu();//new一个Stu对象
 
 class Stu{
  int id;
  Stu f; 
  Stu() {
  id = 0;
  f = this; //想用 f 指向刚 new 的这个对象
  }
 }  我只是简单的写了一下意思,我就想用 f 做刚 new 的对象的引用,就拿 this 试了一下,果然不管用,实在是想不出该怎么做?求各位大神帮忙啊

解决方案 »

  1.   

    f = this; 如果可行,那么s.f,到底是访问谁呢 ?
      

  2.   

    f = this; 如果可行,那么s.f,到底是访问谁呢 ?
      

  3.   

    没问题,如果f在main方法中使用或者说在静态方法中使用,请设成静态变量
      

  4.   

    我在想这样做会不会出现无限递归的情况
    new 一个Stu对象出来里面又new一个Stu对象,这样就没完没了了
      

  5.   

     就是在构造这个 stu 对象的时候,同时用 f 引用他,也就是 f = s (注:Stu s = new Stu())
      这么说,您明白么?
      

  6.   

      我只是想用 f 指向 s 指向的这个stu对象
      

  7.   

    可以用的啊,你把Stu f 声明改成public Stu f,然后你试试,可以访问的,指向同一个对象
      

  8.   

    可以用啊,但你这不多此一举吗?
    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 的这个对象
        }
    }
      

  9.   

    我不是初学,不过还是菜鸟,楼主是不是将两个stu的引用(s和f)指向了同一个对象??不知道为什么要这样做,我有些绕了。
      

  10.   

      有些特殊的需要,其实在我的代码里 f(first) 是 static 的,用来记录一下第一个对象(想模拟链表来着)。
      

  11.   

    在类的定义中定义该类类型的变量,不久循环不停的在创建对象了吗?C++是这样的,java不是吗?
    在类中可以定义该类类型指针的变量,然后用this指针给它赋值,这个没问题。
    不太懂java,C++是这样的。