2011-03-27 105 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()或在你的抽象类声明它,你的抽象类的具体子类将被要求提供该方法的实现。