黑马程序员技术交流社区
标题:
选择题,有点绕,不要晕哈。
[打印本页]
作者:
王勇文
时间:
2013-1-21 13:18
标题:
选择题,有点绕,不要晕哈。
public class OuterClass {
private double d1 = 1.0;
//insert code here
}
把下列答案存放在指定code位置上,哪个答案是正确的?
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;}
}
复制代码
被这题绕得有点晕了。
作者:
柴乔军
时间:
2013-1-21 13:20
当内部类在成员位置上,就可以被成员修饰符所修饰。
比如,private :将内部类在外部类中进行封装。
static :内部类可以被静态修饰,就具备了静态的特性。当内部类被
静态修饰后,只能直接访问外部类中的静态成员,出现了访问局限。
在外部其他类中如何访问静态内部类的非静态成员:
new Outer.Inner().function();
在外部其他类中如何访问静态内部类中的静态成员:
Outer.Inner.function()
注意:当内部类中定义了静态成员,该内部类必须是静态的。
当外部类中的静态方法访问内部类时,内部类也必须是
静态的。
C是正确的
作者:
黑马刘杰
时间:
2013-1-21 13:22
我选C。。。
作者:
柴乔军
时间:
2013-1-21 13:24
楼主哪个选项不懂可以继续问
作者:
焦健
时间:
2013-1-21 13:29
C是正确的。其他的都是静态访问非静态成员。。编译失败。。
作者:
金鑫
时间:
2013-1-21 13:37
记得老毕视频中说过,静态只能访问静态。记住这句话,这道题还是很简单的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2