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