java - 继承-为什么我不能在子类中声明与 super 中具有相同方法签名的私有(private)方法?

标签 java inheritance

我的书没有给出最好的解释,我想了解为什么当我在父类(super class)中具有相同的方法签名时,我不能在子类中拥有私有(private)方法。除了父类(super class)中的方法是公共(public)的。

我尝试用谷歌搜索这个答案,我所能找到的只是关于重写私有(private)方法的内容。但是,我试图用私有(private)方法覆盖公共(public)方法。

最佳答案

通过将派生方法设置为 private,您将更改父类(super class)制定的约定,从而阻止任何其他子类访问最初的 public 方法。

传递父类(super class)参数的函数不会事先知道是否允许调用该方法。这会很糟糕。

关于java - 继承-为什么我不能在子类中声明与 super 中具有相同方法签名的私有(private)方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16198983/

相关文章:

java - 为什么 JavaFX 在 NetBeans 之外的工作方式不同?

java - 致命异常 : main

java - 返回 HttpStatus 代码的更好方法 Spring REST

java - 为什么 instanceof 不能与 JPanel 和 JComponent 一起使用?

c# - protobuf-net:反序列化扩展关键字到继承层次结构

java - 如何扩展使用 FXML 的自定义 JavaFX 组件

Ruby 类继承以及如何避免调用 super 两次

c++ - protected 派生类

c++ - 关于wxWidgets继承的问题

java - 为什么使用 invokedynamic 调用 Java 8 lambda?