在Java中,一个类`OuterClass`定义了一个内部类`InnerClass`。`InnerClass` 可以通过不同的访问修饰符修饰它的成员变量。以下关于`InnerClass`的成员变量的访问权限描述,哪一个是错误的?
答案解析
A选项正确,`private`修饰符限定成员只能在本类内部访问。B选项错误,`protected`修饰的内部类成员变量不能被外部类的子类直接访问,因为`InnerClass`对象是在`OuterClass`内部创建的,而不是在`OuterClass`的子类中创建的,所以不是继承关系,不属于`protected`的可访问范围。C选项正确,内部类成员没有访问修饰符,则为默认default访问级别,同一个包的其他类可以访问。D选项正确,`public`成员的访问不受限制,任何类都可以访问。
正确答案:B