如何强制实现类的方法,而不是声明整个类的抽象?

时间:2013-08-16 14:52:15

标签: java android inheritance

我经常创建一个基类(Activity的大多数时基类),然后由我项目中的其他类扩展。

如何强制客户端实现某种方法?

我显然不能在不使整个类抽象的情况下只使用一个方法摘要。

3 个答案:

答案 0 :(得分:2)

使课程抽象化。如果你想强制实现,你也不会想要实现基类的实例化。其他方法仍然可以具体实现,如下所示;

public abstract class ServerListHtml extends HttpServlet {
    abstract public void foo();
    public int concrete() {
        return 0;
    }

}

如果您需要基本的“默认”功能集,则可以定义自己的可实例化子类。

答案 1 :(得分:0)

创建Interface。然后,如果有人想要使用它,他必须实现所有这些方法。在其他方面不能强制实施所有方法。

答案 2 :(得分:0)

要么为某些子类使用Interface,要么你可能真的使Superclass抽象强制每个子实例化它,使得超类不能真正实例化。

也许你应该从abstract class寻找一个好的继承,或者真的考虑使用Interface