Outer.Inner a= new Outer.new Inner();
Outer.Inner a= new Outer.Inner();

解决方案 »

  1.   

    Inner 
    Inner a= new Inner();
      

  2.   

    Inner a= new Inner();
    Outer.Inner a= new Outer.new Inner();
    是对的其中:
    Inner a= new Inner();  用于在Outer类之内实例化Inner
    Outer.Inner a= new Outer.new Inner(); 用于在Outer类之外实例化Inner
      

  3.   

    Outer o= new Outer();Outer.Inner a= new o.Inner();
    Outer.Inner a= new Outer.new Inner();
      

  4.   

    static 内部类应该是自动成为顶级类,可以Inner a= new Inner();
    直接建立
      

  5.   

    TO yyand23(风):我做了试验,不行呀?若从外部构造Inner,必须是
    Outer.Inner,否则不能编译 (can not resolve symbol)
      

  6.   

    我的正确答案首先,题目有错:
    第二行class static Inner 错了,没有这种写法的。
    应该改为 static class Inner 其次,答案只有一个
    Outer.Inner a= new Outer.Inner();(这一项只对static的内部类正确)如果
    1.把选项第三个Outer.Inner a= new Outer.new Inner();
    改为 Outer.Inner a= (new Outer).new Inner();
    2.或者把选项第二个
    Outer o= new Outer();Outer.Inner a= new o.Inner();
    改为Outer o= new Outer();Outer.Inner a= o.new Inner();
    那么
    这两个也对(这两个选项对无论是否static的内部类都是对的)
      

  7.   

     对static的内部类正确的只有一个:
    Outer.Iner o=new Outer().new Inner()
    在java2复习重点及模拟试题115页最上边。
    所以答案是C.