把下面代码填充到位置1和位置2,正确的是( )

class test {
    public void fun() {
        // 位置1
    }

    class Inner {
    }

    public static void main(String[] args) {
        test t = new test();
        // 位置2
    }

}
A. 位置1  new Inner();  
B. 位置2  new Inner();  
C. 位置1  new t.Inner();  
D. 位置1  new test.Inner();

参考解答

A,D

分析

成员内部类,可以在本类的方法内部被直接实例化使用;

但在类外(即main方法当中)必须通过类的实例间接实例化,语法为:外部类对象.new 内部类()

A 正确 B 错误 必须使用 t.new Inner() 在类外创建内部类的实例 C 错误 t未定义 D 正确 与 A 选项相比加上了类的全限定名,语法上是等价的


results matching ""

    No results matching ""