接口旨在定义一种类型的 公共 API,仅此而已,而不是其实现。因此,您在接口中定义的任何方法(或静态成员)都是按定义
public。
由于接口不能包含任何具体的实现,因此无法从内部调用任何成员方法。声明这些方法但将对它们的调用留给子类或完全不相关的客户端将意味着您的类型定义不完整且脆弱。这就是为什么如果您需要定义受保护的成员或程序包访问成员,则可以在抽象类(可能还包含实现)中进行定义。

接口旨在定义一种类型的 公共 API,仅此而已,而不是其实现。因此,您在接口中定义的任何方法(或静态成员)都是按定义
public。
由于接口不能包含任何具体的实现,因此无法从内部调用任何成员方法。声明这些方法但将对它们的调用留给子类或完全不相关的客户端将意味着您的类型定义不完整且脆弱。这就是为什么如果您需要定义受保护的成员或程序包访问成员,则可以在抽象类(可能还包含实现)中进行定义。