当前位置: 首页 > 知识库问答 >
问题:

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

华锦程
2023-03-14
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

我是一个彻头彻尾的Java新手,对Java接口还很陌生。我做错了什么?

共有1个答案

谢奇略
2023-03-14
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教程

子类中的实例方法具有与超类中的实例方法相同的签名(名称,加上参数的数目和类型)和返回类型,将重写超类的方法。

 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : 接口与抽象类(一般面向对象) (35个答案) 6年前关闭。 最近,我决定看一下Java,因此我仍然对它以及面向对象编程的方法还很陌生,因此我想在学习更多之前弄清楚一些事情((我想从好的实践开始永远不会很快) )。 我现在正在编写一个2D小游戏,但我想我的问题适用于任何非平凡的项目。为简单起见,我将提供游戏示例。 我有不同类型的僵尸,但是它们都有相同的属性

  • 现在,我们知道Java 8在接口中引入了默认和静态方法。 接口最初在Java中引入是为了避免C++中出现的菱形问题,在多重继承中。 但是,随着Java8在接口中引入默认方法,现在,Java也引入了菱形问题,它在以前的版本中避免了这个问题。 默认方法不是必须重写的。 但是当使用接口发生菱形问题时,实现这些接口的类必须重写默认方法。 null PS我在互联网上没有找到任何关于这方面的好文章的链接。 他

  • 问题内容: 在面试中,有人问我以下问题。我试图回答这个问题,但是我想确切回答这个问题。 如果我可以将Abstract类模拟为Interface,为什么Java提供了Interface? 这意味着如果在Abstract类中我可以将所有方法标记为abstract,然后abstract类将用作接口,那么为什么我需要接口。 谁能简单地解释一下我。 问题答案: 这是一个非常标准的面试问题。答案是:因为您可以

  • 问题内容: 考虑一个示例(在Java中编译) 为什么必须将接口“声明”为抽象的?还有其他适用于抽象接口的规则吗? 最后:如果过时了,为什么将它包含在Java中?有抽象接口的历史吗? 问题答案: 为什么必须将接口“声明”为抽象的? 不是。 接口及其方法是隐式的,添加该修饰符没有区别。 还有其他适用于抽象接口的规则吗? 不,适用相同的规则。该方法必须由任何(具体)实现类来实现。 如果抽象已经过时,为什

  • 我想读关于抽象的文章,但读到不同的文章,我感到很困惑。 下面是我无法理解的问题: 1)“抽象是通过使用抽象类和接口实现的吗?”我对此进行了搜索,得到了三种类型的答案: 与此处解释的不同。 它们是相同的,只是不同的观点,就像这里解释的。 最后一个是抽象类用来实现抽象。 哪一个是真的?请举一个简单的例子。 2)“抽象意味着隐藏不必要的细节。比如专注于一个对象做什么而不是它是如何完成的。” 这是正确的吗

  • 抽象类中可以存在非抽象的方法,接口中的方法被默认的变成抽象方法;   (2)实现抽象类的方法时,如果方法是抽象的,子类必须重写抽象的方法.如果方法不是抽象的,子类可以选择继承,实现了接口就必须实现接口中的所有方法,因为接口中的方法默认的全部都是抽象的方法;