gpt4 book ai didi

java - 类对于 Java 来说不是抽象的?涉及接口(interface)使用

转载 作者:行者123 更新时间:2023-12-02 07:29:45 25 4
gpt4 key购买 nike

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

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

以及大众运输方法

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:错误:Train 中的 getRoundTripCost(int,int) 无法在 MassTransit 中实现 getRoundTripCost(int,int)”

我是一个彻头彻尾的Java新手,而且我对Java接口(interface)仍然不熟悉。我做错了什么?

最佳答案

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


} //end getRoundtrip

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

public void getRoundTripCost(int leave, int return_time);

根据 java tutorial

An instance method in a subclass with the same signature (name, plus the number and the type of its parameters) and return type as an instance method in the superclass overrides the superclass's method.

关于java - 类对于 Java 来说不是抽象的?涉及接口(interface)使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13080354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com