好的,所以我整个学期都在学习 java,并认为我对继承和超/子类有一个清晰的了解。今天我们的任务是创建一个名为敌人的超类,其中包含不同类型敌人的子类。我做的一切都很好,我所有的子类都在工作,但是当我回去阅读我们必须遵循的指导方针时,我发现了这句话:
“超类的所有成员变量都必须是私有的。对变量的任何访问都必须通过子类中的受保护方法来完成。”
根据我所学到的,这对我来说毫无意义。如果一个变量在超类中是私有的,那不是不允许从子类访问吗?最后一部分讨论子类中的受保护方法对我来说也没有任何意义。这如何帮助和/或允许对超类的任何访问?
根据我对继承的了解,以下是我认为正确的:
Access Levels
Modifier Class Package Subclass World
public Y Y Y Y
protected Y Y Y N
no modifier Y Y N N
private Y N N N
如果我在这里理解错误,请解释!如果我是一个没有正确理解的人,我不想就给我们错误的指导而与导师对质!