public class aaa {
    int a,b,c;
    double d,e,f;
    bbb b1=new bbb(this);
}
public class bbb {
    aaa a1;
    public bbb(aaa a1){
       this.a1=a1;    
   }
}
 bbb b1=new bbb(this);
aaa类中创建对像以自身作为参数调用bbb类中的构造方法  bbb b1=new bbb(this);中的this起着什么样的作用?应该怎么样理解

解决方案 »

  1.   

    答:aaa的对象中包含引用b1,它指向bbb的对象.而bbb的对象中又包含有引用a1,它指向aaa的对象.bbb b1=new bbb(this);中的this就是将当前aaa的对象的引用作为参数传入进去.好让bbb对象的a1来指向它.
      

  2.   

    测试了一下,果然可以
    原来实例变量还可以用this关键字啊
      

  3.   

    就是互相引用啦,就像我用过的,比如有事件Event和事件处理器Handler,
    在Event中会保存一个Handler,在Handler中也会保存一个Event,
    所以当调度到一个Event的时候,它会取出它的Handler来开始处理,
    而Handler在处理的时候也会取出Event中的一些信息来进行相关的处理。
      

  4.   

    public class aaa { 
        int a,b,c; 
        double d,e,f; 
        bbb b1=new bbb(this); 

    public class bbb { 
        aaa a1; 
        public bbb(aaa a1){ 
           this.a1=a1;     
       } 
    } aaa xx=new aaa()
    这个xx里面包含了一个bbb类型的b1 这个b1是用bbb(xx)构造出来的
    xx.b1.a1的结果还是xx
      

  5.   


    好久的帖子了.....比如 aaa是苹果,而bbb是苹果篮子。
    public class aaa { 
        int a,b,c; 
        double d,e,f; 
        bbb b1=new bbb(this); 

    这段代码的意思是,苹果aaa有一个苹果篮子的属性,在构造aaa的时候会初始化这个篮子,也就是bbb,并把苹果自己(aaa)放在苹果篮子(bbb)内。public class bbb { 
        aaa a1; 
        public bbb(aaa a1){ 
          this.a1=a1;    
      } 

    这段代码的意思是,苹果篮子bbb有一个苹果的属性a1,苹果篮子的构造方法需要一个苹果的参数a1,并在构造方法内把这个苹果参数a1赋值给内部的属性a1.供参考。