在A类中如何去调用B类内部类的成员变量啊?急救……
最好能举例说明一下……

解决方案 »

  1.   

    看你如何去访问B类得内部类,通常要访问B类得内部类,就要先实例化B,然后才能进一步的访问该类得内部类属性
      

  2.   

    以下代碼,匆忙写的,因为要下班了 未经测试:public class Lei{ 
      public static class Leis{ 
      public Leis(){ 
        System.out.println("asd"); 
       } 
      } 

    class Mei{ 
      Lei l = new lei().new Leis();
      }
      

  3.   

    这取决于B类的内部类是静态内部类还是非静态内部类。如果是静态内部类,就用  
    外部类类名.内部类类名 对象名 = new 外部类类名.内部类构造函数
    如果是非静态内部类除局部内部类之外,  用 外部类类名.内部类类名 对象名 = new 外部类构造函数.new 内部类构造函数
    就可以了
      

  4.   

    4楼正解,B类调用A类中的内部类里的方法或属性代码如下:public class Aclass {
    class InnerClass{
    private String hello = "hello world";
    public String getHello(){
    return hello;
    }
    }

    static class staticInnerClass{
    private String info = "static";
    public String getInfo(){
    return info;
    }
    }

    }
    public class Bclass {
    public static void main(String[] args){
    // 调用Aclass中非静态的内部类
    Aclass.InnerClass inner = new Aclass().new InnerClass();
    System.out.println(inner.getHello());

    //调用Aclass中是静态的内部类
    Aclass.staticInnerClass sinner = new Aclass.staticInnerClass();
    System.out.println(sinner.getInfo());
    }
    }
      

  5.   


    public class TestInner { public class InnerKlass {
    // 内部类的成员变量
    private String password = "password";
    String name = "test"; public String getName() {
    return name;
    } public String getPassword() {
    return password;
    }
    } public static void main(String[] args) {
    TestInner out = new TestInner();
    TestInner.InnerKlass inner = out.new InnerKlass();
    // 直接使用"."访问
    System.out.println("直接使用\".\"访问 "+inner.name);
    // 直接使用getter方法访问
    System.out.println("直接使用getter方法访问"+inner.getName());
    // 私有的成员变量,使用get方法
    System.out.println("直接使用getter方法访问私有成员变量"+inner.getPassword()); }}