繁体   English   中英

类不是Java的抽象? 接口使用涉及

[英]Class not abstract for Java? Interface Use involved

我正在创建一个家庭作业的程序,它计算出使用界面的火车旅行的费用:

Train Class:

public class Train implements MassTransit {



public void getCapacity() {

    int capacity = 100;



}//end get Capacity


public int getRoundTripCost(int leave, int return_time){
    int cost = 0;
    cost = (return_time - leave) * 100;
    return cost;


} //end getRoundtrip

public static void main(String[] args) {

    Train train = new Train();
    train.getRoundTripCost(20,25);


}//end of main method



}//end train class

和MassTransit方法

public interface MassTransit {

public void getCapacity();
public void getRoundTripCost(int leave, int return_time);


}//end of MassTransit interface

当我尝试编译Train类时,我得到的错误是“Train.java:6:错误:Train不是抽象的,并且不会覆盖MassTransit中的抽象方法getRoundTripCost(int,int)”

“Train.java:19:错误:getRoundTripCost(int,int)在Train中无法在MassTransit中实现getRoundTripCost(int,int)”

我是一个完整的Java新手,我仍然不熟悉Java接口。 我做错了什么?

public int getRoundTripCost(int leave, int return_time){
    int cost = 0;
    cost = (return_time - leave) * 100;
    return cost;


} //end getRoundtrip

上面的重写方法返回类型应该是void而不是int 您的接口定义方法,返回类型为void

public void getRoundTripCost(int leave, int return_time);

按照java教程

子类中具有相同签名(名称,加上其参数的数量和类型)和返回类型作为超类中的实例方法的实例方法会覆盖超类的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM