可能重复:
Protected in Interfaces
在Java中为什么我不能在接口中使用受保护的方法?
根据Java规范
受保护的访问权限(由关键字protected表示) - 同一个包中的任何类型都可访问的字段或方法,以及任何包中的子类。
如果我必须使用该接口,我将实现它并覆盖这些方法。 因此,如果我要实现类可以访问这些方法的位置,那么可以在任何包中访问该方法。那么在接口中将方法声明为受保护的危害是什么呢?
答案 0 :(得分:13)
受保护的方法旨在与子类共享实现。就实现共享而言,接口没有什么可提供的,因为它们根本没有实现。因此,接口上的所有方法都必须是公共的。
答案 1 :(得分:5)
对象的接口是该对象的一部分,该对象对该类的外部用户可见。 相反,受保护和私有方法(和字段)属于类内部。它们封装在类中,类用户不应该知道它们。
因此,由于interface
用于定义接口(没有双关语),因此它们不包含受保护的方法是合理的。
在定义interface