Java:阻止子类提供与基类不同的接口

乔尔:

有什么方法可以防止子类在编译时公开基类中定义的公共方法以外的公共方法?

例如:

abstract public class AClass {

   abstract public void anAllowedMethod();

}

public class BClass extends Aclass {

    public void anAllowedMethod() {

    }

    public void anAdditionalNonAllowedMethod() {

    }

    private void thisMethodIsAllowedBecauseItsNotPublic() {

    }

}

也许我可以在AClass中使用一些关键字来声明子类只能实现AClass中定义的方法(即“ anAllowedMethod()”)?

逸斋:

在游戏的这个阶段可能为时已晚,但是您可以做的是使用相关方法创建一个最终类,该方法将一个具有实际实现的不同类型的构造函数中的委托作为委托,并具有最终类的方法给代表打电话。这样,他们添加到委托中的任何内容将根本无法调用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章