为什么我们要将接口方法声明为公共方法?
2022-09-01 04:22:19
当我实现一个方法时,我被迫使它成为一个方法。interface
public
我们可能遇到想要使用的情况(例如在同一包中访问的情况下)或.default
protected
任何人都可以解释一下这种限制背后的原因吗?
当我实现一个方法时,我被迫使它成为一个方法。interface
public
我们可能遇到想要使用的情况(例如在同一包中访问的情况下)或.default
protected
任何人都可以解释一下这种限制背后的原因吗?
接口旨在定义一种类型的公共 API - 仅此而已,而不是其实现。因此,您在接口中定义的任何方法(或静态成员)都是根据定义。public
由于接口不能包含任何具体的实现,因此无法从内部调用任何成员方法。声明这些方法,但将它们的调用留给子类或完全不相关的客户端,将意味着您的类型定义不完整且脆弱。这就是为什么如果需要定义受保护成员或包访问成员,则可以在抽象类(也可能包含实现)中执行此操作。
也许这会提供一些答案。
据我所知,你用来允许代码外部的人与你的代码进行交互。为此,您需要定义方法 。interfaces
public
如果要强制某人重写一组给定的私有方法,则可能需要声明具有一系列受抽象保护的方法的抽象类。