抽象类的孩子们

时间:2017-03-08 06:26:42

标签: java

我有一个问题我有一个抽象的父类,孩子不是抽象的,也没有覆盖方法,但孩子的孩子有它 Java给了我一个错误信息,我可以做些什么来使第一个孩子抽象而不添加重写方法?

这是父母:

public abstract class MobileDevice {
    public abstract void  display();
} //end class

这是第一个孩子:

public class MobileComputer extends MobileDevice {
    public MobileComputer(String b, double s) {
        super(b,s);
    } //end cons
 } //end class

这是第二个孩子“孩子的孩子”:

public class TabletComputer extends MobileComputer {
    public void display() {
        System.out.println("");
    }
} //end class

2 个答案:

答案 0 :(得分:3)

您有三个主要选项:

  1. 使MobileComputer抽象,这意味着您不需要在该类中实现该方法
  2. MobileComputer中实施该方法,但将其留空,或者让它抛出java.lang.UnsupportedOperationException之类的例外。
  3. 使用Displayable方法创建一个名为display()(或其他内容)的界面,只有TabletComputer实现它。

答案 1 :(得分:0)

如果要扩展任何抽象类,则必须实现其所有抽象方法或将该类声明为抽象类。 将MobileComputer声明为抽象或实现display()方法(空方法也可以接受,因为它至少会删除编译错误)。