package geometry;
public class Hypotenuse {
public InnerTriangle it = new InnerTriangle();
class InnerTriangle {
public int base;
public int height;
}
}
关于可以引用变量base的对象的类,哪个陈述是正确的?
一个。它可以是任何一类。
B中。没有班级可以访问基地。
℃。该类必须属于几何包。
d。该类必须是Hypotenuse类的子类
这是来自SCJP Dumps,答案是“C”。因为我的知识答案应该是“B”,因为内部类具有称为“base”的局部变量,并且它仅在内部类中具有范围。即使我想在“几何”类中使用这个变量,我也不允许这样做。
如果我错了,请指导我?
答案 0 :(得分:4)
类InnerTriangle有一个"包级别"范围,因为您尚未指定任何显式访问修饰符。这意味着允许类中的成员以及包中的成员访问该类。
这就是为什么" C"是正确的答案。
答案 1 :(得分:0)
base
是一个公共变量,外部类是一个公共类。因此,内部类范围内的所有类都可以访问它。内部类具有包范围,因此base
的范围是包。