public class A {
  private int a;
  private A isA;
  private class B {
    private int b = a;
    private A isB = isA;
  }
}
不清楚,是否正确inner class与outer class是互通的

解决方案 »

  1.   

    用  A.this.a
    如下public class A {
      private int a;
      private class B {
        private int b = A.this.a;
      }
    }
      

  2.   

    Outer.Inner i=new Outer().new Inner();
    Outer为外部类
    Inner为内嵌类
      

  3.   

    用  A.this.a
    如下public class A {
      private int a;
      private class B {
        private int b = A.this.a;
      }
    }好像不用那么麻烦 inner class 是可以直接访问 outer class中的 声明变量和方法的
    直接private int b=a 即可。
    不过这个a必须在class A 的构造方法之外就已经声明
    比如:
    public class A {
      private int a;
      private int b;
      public A (
    ){}//A的构造方法
      ...
      ...//A的其他方法    private class B {
        private int b;
        
      }
    }
      

  4.   

    -0-刚才还没写完,误按了发送键
    正确的在这里
    public class A {
      private int a;
      private int b;
      public A ()
      {
         a=!@!@#!$!@;
         b=@$%!@#$;
       }//A的构造方法 
      ...
      ...
      //A的其他方法  
      //在A的构造方法中对a进行赋初值
      //在A的其他方法中对a的值进行改动
      //之后就可以把所赋的值传递给B中的b了
      private class B 
      {
        private int b=a;    
      }
    }
      

  5.   

    kypfos(夜色太漫长)的代码很好,不同意talent_marquis(甜菜侯爵) 所说。
    规规矩矩写代码,让别人让自己看得懂。
    否则,时间久了,自己都看不懂了。
      

  6.   

    我写代码一般都把这个东西的作用写清
    比如 JButton sendMassageBtn,JTextpane typeAreaTp等等
    放在构造方法外只是声明,赋值仍然在构造方法里
    然后就可以在整个类{}中通用了
    这样应该可以避免表义不清的问题吧~