错误:“< Class>不是抽象的,不会覆盖抽象方法< method>" [英] Error: "<Class> is not abstract and does not override abstract method <method>"

查看:123
本文介绍了错误:“< Class>不是抽象的,不会覆盖抽象方法< method>"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

错误:


java:com.company.Bicycle不是抽象的,并且不会覆盖com中的抽象方法applyBreakes(int)。 company.Vehicle和Bike类相同。

java:com.company.Bicycle is not abstract and does not override abstract method applyBreakes(int) in com.company.Vehicle and same for the Bike class.



package com.company;

interface Vehicle {

//all are the abstract method.
void changeGear(int a);
void speedUp(int a);
void applyBreakes(int a);
}



class Bicycle implements Vehicle {

int speed;
int gear;

//to change speed
@Override
public void changeGear(int newGear) {

    gear = newGear;

}

//to increase speed
@Override
public void speedUp(int increment) {

    speed = speed + increment;

}

//to decrease speed
public void applyBreaks(int decrement) {

    speed = speed - decrement;

}

public  void  printStates() {

    System.out.println("speed: " + speed + " gear: " + gear);
}

}

class Bike implements  Vehicle {

int speed;
int gear;

//to change gear
@Override
public void changeGear(int newGear) {

    gear = newGear;

}

//to increase speed
@Override
public void speedUp(int increment) {

    speed = speed + increment;

}

//to decrease speed
public void applyBreaks(int decrement) {

    speed = speed - decrement;

}

public void printStates() {

    System.out.println("speed: " + speed + " gear: " + gear);
}

}




class GFG {

public static void main(String[] args) {

    //creating an instance of Bicycle
    //doing some operations
    Bicycle bicycle = new Bicycle();
    bicycle.changeGear(2);
    bicycle.speedUp(3);
    bicycle.applyBreaks(1);

    System.out.println("Bike present state :");
    bicycle.printStates();

    //creating instance of bike.
    Bike bike = new Bike();
    bike.changeGear(1);
    bike.speedUp(4);
    bike.applyBreaks(3);

    System.out.println("Bike present state :");
    bike.printStates();

}
}


推荐答案

因为您在界面(和/或实现)中拼错了方法名称。

Because you misspelled the method name in the interface (and/or in the implementation).

接口方法名称是 applyBreakes ,而实现称之为 applyBreaks
因此类不实现接口方法,而是定义新的(不相关的)方法。

Interface method name is applyBreakes, while the implementations call it applyBreaks. So the classes don't implement the interface method, but instead define new (unrelated) methods.

P.S。正确的拼写(英文)将是applyBrakes。

P.S. The correct spelling (in English) would be "applyBrakes".

这篇关于错误:“< Class>不是抽象的,不会覆盖抽象方法< method>"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆