2011-03-27 58 views
-1

我想知道如何在接口中實現抽象方法。鑑於此接口:如何在接口中實現抽象方法?

public interface Analysis 
{ 
    public double getAverage(); 
} 

要實現抽象方法,我只是將該方法聲明爲abstract?

public abstract double getAverage(); ?? 

或聲明該接口爲抽象?

public abstract interface Analysis 
    { 
     public double getAverage(); 
    } 

還是需要其他東西嗎?

我有一個實現所謂Marks的接口的類:

public class Marks implements Analyzable 
{ some other code 
    constructor 
    mutators 
    accessor 
    public double getAverage(); 
} 

所以,我的主要問題是如何實現接口的抽象方法?

+2

你的問題不清楚。你有一個接口,並且你有一個實現這個接口的類。問題是什麼? – 2011-03-27 14:04:11

回答

5

爲了一個抽象類實現接口:

public abstract class AbstractAnalysis implements Analysis { 
    public abstract double getAverage(); 
} 

爲了一個具體的類實現該接口:

public class MyAnalysis implements Analysis { 
    public double getAverage() { 
     // TODO 
    } 
} 

或者,做一個具體的類擴展抽象類,從而實現接口:

public class MyAnalysis extends AbstractAnalysis { 
    public double getAverage() { 
     // TODO 
    } 
} 
+1

在抽象類'AbstractAnalysis'中,不需要寫'public abstract double getAverage();' - 這是多餘的。 – Mot 2011-03-27 14:14:26

+0

那麼如何在接口中實現抽象方法? – Mix 2011-03-27 15:40:49

2

如果你簡單地聲明你的抽象類來實現Analysis,沒有實施getAverage()或在你的抽象類聲明它,你的抽象類的具體子類將被要求提供該方法的實現。