静态方法里面只能引用静态的变量或者是new好的东东

解决方案 »

  1.   

    A a = new A();
      B b = a.new B();
      

  2.   

    你得先实例化A才能使用B
    A a=new A();
    A.B b=a.new B();
      

  3.   

    能否详细解释一下 为什么把内部类看成一个普通的实例变量 A a = new A();
      B b = a.new B();
    可以通过,我象知道java是如何处理内部类的
      

  4.   

    如果你外部类都没有去先声明,又怎么去直接new它的内部类呢?所以要 
     先 A a = new A();
     后 B b = a.new B();
      

  5.   

    严重同意 lzl123(少年) 的说法
      

  6.   

    恩think in java对内部类有很详细的介绍!!!一个内部非静态类 如果想用的话,必须要和外部类对象相联系意思就是说:先有外部类,在有内部类(指非静态的)!你的main 明显是个静态函数, 静态函数可以与对象无关.所以 你在调用静态函数的时候 可以不用生成外部对象A , 然后你就想直接去new 内部类 ,当然要报错啦!!!
      

  7.   

    所以 如果你的B类 改成:static class B{ public void printB(){System.out.println("B~~~~~");} }这样你在main里面就可以直接 B b = new B();  啦!!!多给我点分吧!!!看我打了这么多字,多辛苦 !!! 呵呵!!!!