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
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 出错。
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
三 . 非静态内部类的非静态成员可以访问外部类的非静态变量。 故 C 正确
四 . 答案为 C 、 E