例题:
public class OuterClass
{
private double d1 = 1.0;
//insert code here
}
You need to insert an inner class declaration at line 3. Which two inner class declarations are valid?(Choose two.)
在第三行插入一个内部类,下面那两个内部类的声明是确定的?(选择两个)
A. class InnerOne
{
public static double methoda() {return d1;}
}
B. public class InnerOne
{
static double methoda() {return d1;}
}
C. private class InnerOne
{
double methoda() {return d1;}
}
D. static class InnerOne
{
protected double methoda() {return d1;}
}
E. abstract class InnerOne
{
public abstract double methoda();
}
说明如下:
一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。 故 A、B 错
二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;return d1 出错。 故 D 错
三.非静态内部类的非静态成员可以访问外部类的非静态变量。 故 C 正确
四.答案为C、E