package org.zhanyong; class A{
 class AA{
 public void Say(){System.out.println("我是 A中的AA");}
 }
 }
 class B extends A{
  class AA {
 public  void Say(){System.out.println("我是 B中的AA");}
 }
 }
 public class TestInnerclass3 { public static void main(String[] args) {
B b = new B();
B.AA a = b.new AA();
a.Say(); }}

解决方案 »

  1.   

    thinking java 里面是这样说的,就是有点点疑问了。上面的例子就是不太明白了...
      

  2.   

    类也会覆盖?你这样是正确的:虽然有两个AA类,但是各自互不干扰,
    以为一个是A.AA
    一个是A.B.AA
      

  3.   

    看错了,修改下
    一个是A.AA
    一个是B.AA
      

  4.   

    楼主在main中再写个A c = new A();
    A.AA d = c.new AA();
    d.Say();就明白了,其实两个AA类属于不同的两个类