Oracle Java 7认证:私有和受保护的访问修饰符可以与哪些实体一起使用



我正在为Java 7 Associate认证测试Oracle的问题。windows上的应用程序是由Oracle Press(可能)创建的。他们把它和书一起寄给我了。

目前,我有一个问题,当我说所有的答案都是正确的时候,应用程序说"错误的答案"。有人能解释一下吗?问题是内部类和内部接口可以既是私有的又是受保护的,但解释说类和接口不能。请在下面找到问题和解释。我希望这是问这类问题的好地方。

The private and protected access modifiers can be used with which entities? (Choose all that apply.)

答案:

 A: Classes
 B: Interfaces
 C: Constructors
 D: Methods
 E: Data Members

Oracle:

C: Constructors 
D: Methods
E: Data members

EXPLANA变形:私有和受保护的访问修饰符可用于构造函数、方法和数据成员。A和B不正确。私有和受保护的访问修饰符不能用于类和接口。

问题是内部类和内部接口既可以是私有的又可以是受保护的

是的,你是对的。但是我们应该将它们视为呈现它们的类的数据成员。因为它们不是单独的类,所以我们不应该说它们是接口。

当然,在解释中他们必须提到TOP LEVEL这个词。没有这个就会造成这里的混乱

我猜这里的技巧是问题没有考虑到内部类和接口。答案A和B只涉及顶级类和接口声明(尽管没有显式声明)。

最新更新