请问:
创建内部类的时候会隐式的拥有一个外部类的引用 
我不明白的是 创建内部类的时候 会创建一个外部类 而内部类会拥有这个外部类对象的一个引用 但这个引用根本没有名字啊 怎么拥有这个引用呢
谢谢

解决方案 »

  1.   

    我只知道,可以引用外部类的实例变量,对外部类本身的引用,还不知道,
    如果你确实想引用的话
    class A{  A a = this;
      class B{
        a.....
      }
    }
    这样试着看下
      

  2.   

    public class csdntest1{
      class test{
        csdntest1 csd = new csdntest1();
      }
    }
      

  3.   

    名字就是“外包类名.this”。
      

  4.   

    可能对,这个在thinking in java 就是这么用的阿
      

  5.   


    外部类是他的包装类,这里说的拥有一个外部类的引用是指在这个类的内部,隐含了一个指针,指向了它的封装类,就向this和super一样的东西,不过这里没有这样的标记.
    内部类中调用封装类的成员的时候是直接调用的,这里实际上就是隐含的指向那个外部类一个隐式实例的成员.唉,说的有点糊涂了,不知道你听懂没有.
    内部类主要用于该类只给另外的某一个类提供服务,不向其他类提供服务的时候,这时我们创建内部类,不仅可以方便对封装类成员的调用,更可以避免失误引起的这个类向其他类提供服务.
    内部类还有一个用途,就是解决当一个类的父类和它的多个接口中有同名成员的情况,这时,可以使用内部类去继承(实现)一个成员,用封装类实现一个.(用到的极少)我知道的就这么多了,不知道讲清楚了没,希望可以帮到你.
      

  6.   


    public class T {
      private int i;  class TT {
        public void test() {
          T.this.i = 3; // 这2个写法都是正确的
          i = 4;
        }
      }
    }