覆盖私有方法

Cri*_*utu 1 java oop inheritance overriding private

我的Java书有以下练习问题:

public class Person(){...}

public class Teacher extends Person{...}
Run Code Online (Sandbox Code Playgroud)

并询问以下哪项是正确的陈述:

1:教师继承的构造函数Person。

2:教师可以添加新方法和私有实例变量。

3:教师可以覆盖的现有私有方法Person。

这本书说2和3是正确的。我说只有2个是对的。

我读过,子类确实继承了私有方法和成员字段,但不能直接访问它们。所以我的问题是,如果无法直接访问现有的私有方法,它将如何覆盖它们?如果有人有充分理由将私有方法私有化,为什么还要覆盖私有方法呢?

Abi*_*san 5

3:教师可以覆盖Person的现有私有方法。

错了

父类的私有方法/字段不可见/无法继承到子类。因此,您不能覆盖它们。

尝试一个例子

  • 非常非常。只需键入此示例,然后看看尝试编译时会发生什么。 (2认同)