我想知道如何在接口中实现抽象方法。鉴于此接口:
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();
}
所以,我的主要问题是如何在界面中实现抽象方法?
答案 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