我正在运行一个测试程序以了解有关成员变量可见性的更多信息,并创建了以下3个类:

ParentClass.java

public class ParentClass {
    protected int mMember;
}


ChildClass.java

public class ChildClass extends ParentClass {
    ChildClass() {
        mMember = 10;
    }
}


ChildChildClass.java

public class ChildChildClass extends ChildClass {
    ChildChildClass() {
        mMember = 5;
    }
}


ChildChildClassmMember变量的访问级别是多少?是公开的还是受保护的?

最佳答案

与C ++不同,它将保持受保护的状态,在C ++中,根据继承类型(公共,受保护或私有),它保持不变。

C ++允许这种继承的主要原因是它支持多重继承。但是,Java不支持它。因此,它只是通过保持超类中的访问级别来简化它。

10-08 19:05