如何在接口中实现抽象方法?

时间:2011-03-27 13:59:22

标签: java

我想知道如何在接口中实现抽象方法。鉴于此接口:

public interface Analysis
{
    public double getAverage();
}

要实现抽象方法,我只是将该方法声明为抽象方法吗?

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();
}

所以,我的主要问题是如何在界面中实现抽象方法?

3 个答案:

答案 0 :(得分: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 :(得分:2)

如果您只是声明抽象类来实现Analysis,而不实现getAverage()或在抽象类中声明它,则需要抽象类的具体子类来提供该方法的实现。

答案 2 :(得分:1)

界面中的每个方法都是抽象的。这是Java中的规范之一。

http://java.sun.com/docs/books/jls/second_edition/html/interfaces.doc.html