java - 当覆盖方法时,为什么必须先在超类中编写它,即使它对超类没有意义?
问题描述
当覆盖一个方法时,为什么有必要在超类中编写该方法,即使该方法在超类中没有用,所以在子类中覆盖该方法是否足够有意义。例如,如果有一个超类 A,有两个子类 B 和 C,我想覆盖一个方法 D,它只对子类 B 和 C 有意义,对超类 A 没有意义,那么为什么我们需要编写那个覆盖的方法A中的D,为什么我们不能只写在子类B和C中,而方法D对超类A没有意义。
解决方案
如果你不想在超类中实现,你可以使方法和超类抽象。
abstract public class A {
public abstract void aMethod();
}
public class B extends A{
@Override
public void aMethod() {
}
}
public class C extends A {
@Override
public void aMethod() {
}
}
推荐阅读
- github - 如何更改 github 拉取请求的默认标题
- r - 在 Shiny DT 中,当有很多 ScrollX=TRUE 的列时,焦点会丢失
- php - 如何通过 Laravel Query builder 制作 sql foreach 循环?
- python - 尝试在 Windows 上安装 opencv-python 时出错
- r - 有没有办法在 MLR 框架中为 XgBoost 设置“基本边距”?
- linux - 带有特殊字符的 sendmail 身份验证问题
- button - 从付款页面单击浏览器后退按钮时,Magento2 恢复报价
- python - 子图的python单独X和Y标签
- python - 如何遍历 Pandas DF 中的列以检查某个值并返回同一行但来自不同列的值?
- android - How Could I use array to show match Imageview?