两种选择:
如果您需要
B与保持相同的接口
A(以便客户端代码可以使用这两个方法中的任何一个而无需更改),则可以覆盖其中的“禁止”方法
B并使它们抛出
UnsupportedOperationException。例如:
public class A{ public int allowedMethod() { ... } public int forbiddenMethod() { ... }}public class B extends A{ public int forbiddenMethod() { throw new UnsupportedOperationException("Sorry, not allowed."); }}或者,如果您确实希望的API是的API的
B子集
A,则只需
B包含的实例
A,并适当地委托方法调用即可。
public class A { public int allowedMethod() { ... } public int forbiddenMethod() { ... } } public class B { private A a; public int allowedMethod() { return a.allowedMethod(); } }


