2012-10-26 35 views
0

我創建一個程序對於計算出的火車旅行使用接口的成本家庭作業:類不抽象的Java?接口使用涉及

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.java:6:錯誤:火車不是抽象的,不重寫抽象方法getRoundTripCost(INT,INT)在MassTransit」

而且

「Train.java:19:錯誤:getRoundTripCost(INT,INT)在列車無法實現getRoundTripCost(INT,INT)在MassTransit」

我是一個完整的Java新手,我還很陌生Java接口。我做錯了什麼?

回答

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


} //end getRoundtrip 

上面覆蓋方法的返回類型應該是voidint。您的界面定義了返回類型爲void的方法。每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.

+0

public void getRoundTripCost(int leave, int return_time); 

正如我發誓,它總是簡單的東西。謝謝! – user1768884

+0

@ user1768884:是的,簡單的一個。祝你好運。 – kosa