限制 Java 接口的适用性

问题描述 投票:0回答:1

是否有可能限制Java接口的适用性?换句话说,如果我有一个类 A 和一个 Java 接口 I:是否可以强制 I 的实例也是 A 的实例?

或者,换句话说:如果我有类似的东西

  public class B implements I {
  }

然后我希望编译器抛出一个错误,如果 B 不是 A 的子类。

谢谢,

约亨

java
1个回答
0
投票

在类

A
和接口
I
中创建一个具有特殊名称的空方法或抛出方法,并具有相同的签名。就像是:
onlyClassAandItsSubclassesCanImplementI_markerMethod_doNotCallThis

这并不能真正阻止人们用

I
或其子类以外的东西来实现
A
,但它肯定会阻止人们意外地这样做。

© www.soinside.com 2019 - 2024. All rights reserved.