class A {
protected int i;
A(int i) {
this.i = i;
  }
}下面哪一个是A类的内隐类(inner class)?A.
class B {
}B. 
class B extends A {
}C.
class B {
B() { 
System.out.println("i = " + i);
}
}D.
class B {
class A {
}
}E.class A {
}

解决方案 »

  1.   

    我觉得是A
    先用排除法
    B 是继承
    D 中A是B的内部类
    E 是类A然后分析A和C,一般来说,使用内部类的一种情况是,外部类有一个方法,返回指向内部类的引用.而C中正好相反,用B类的方法返回A中Protected的一个引用
      所以,应该是A
      

  2.   

    好象没表达清楚,重新表达下,C中是用B返回A的引用,所以A是B的内部类(inner class)
    只有答案A有可能
      

  3.   

    正确答案是 A , B , C
      

  4.   

    应该是这样的:
    class A {
       class B {
       }
    }
    所以D错,B是派生与A,所以A,B,C都是对的了
    全部调试通过:
    答案A
    public class Main {
        public Main() {
        }
        public static void main(String[] args) {
             a A = new b();
             A.a();
             A.b();
    }  
    }
    class a{
        public void a(){}
        public void b(){System.out.println("hahah");}
        class b {
        }
    }答案B:
    public class Main {
        public Main() {
        }
        public static void main(String[] args) {
             a A = new b();
             A.a();
             A.b();
    }
    }class a{
        public void a(){}
        public void b(){System.out.println("hahah");}
        class b extends a{
        public void b(){System.out.println("我被调用了");}
    }
    }C肯定是对的了,因为内部类可以访问外部类的私有成员变量的
      

  5.   

    ABC 说了B是定义在A内部的吗?
      

  6.   

    C啊
    A无法确定
    B是A的子类
    C正解
    D里A是B的内隐类
    E纯属凑份子的