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

来源:10-3 Java 中的抽象类

福工刘德华

2017-08-17 20:22

抽象类代码:

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 自动生成的方法存根


}


}


写回答 关注

3回答

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

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

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

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

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


    Markme 回复福工刘德华

    sorry,看错了,你代码我试了,没报这样的错误啊,我用的是idea 父类: public abstract class Phone { public abstract void call(); public abstract void message(); } 子类: public class Cellphone extends Phone { @Override public void call() { } @Override public void message() { } }

    2017-08-17 22:48:11

    共 2 条回复 >

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

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

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

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

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

531106 学习 · 6311 问题

查看课程

相似问题