问答详情
源自:10-3 Java 中的抽象类

为什么创建抽象类子类的时候,call方法和message方法会出现“类型为 Cellphone 的方法 call()必须覆盖或实现超类型方法”这种问题?

抽象类代码:

package project4;


public abstract class Phone {

public abstract void call();

public abstract void message();


}

继承抽象类的子类代码:

package project4;


public class Cellphone extends Phone {


@Override

public void call() {

// TODO 自动生成的方法存根


}


@Override

public void message() {

// TODO 自动生成的方法存根


}


}


提问者:福工刘德华 2017-08-17 20:22

个回答

  • Markme
    2017-08-17 21:47:24
    已采纳

    是覆盖(override)了父类的方法。

    抽象类就相当于一个定义,例如,大学生要学习的一些课程,首先学生们要按照课表去购买书籍,抽象类就相当于课表,规定了学生要去学习高数、英语、计算机等课程,但不能说有了课表学生就学会了,需要具体的去学习。

    子类就是学习过程了,需要具体定义每一个实现的细节,就相当于学生听课学习,所以要构建父类方法中的所希望实现的具体代码。

    或者说,父类是菜单,子类就是具体的一盘一盘菜,子类是按照父类来炒的。


  • 晨小帅
    2017-08-30 16:12:02

    我现在知道了,写好父类以后保存一下就可以了

  • 晨小帅
    2017-08-30 16:08:10

    我也出现这样的错误了,求助啊!!!!