我正在为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只涉及顶级类和接口声明(尽管没有显式声明)。