在interfaces
为什么方法访问说明符只有public
为什么不protected
?
interface IPractice {
void test(); // it will be public
protected void test2(); // why this is not allowed
}
任何人都可以解释一下这个。
答案 0 :(得分:2)
接口的重点是它向外界公开方法,因此可以隐藏实现细节。
外界不应该知道界面内部发生的事情。
答案 1 :(得分:1)
因为接口本质上是公共的,如果您声明接口是因为您要确保每个人都实现相同的方法,并且此类方法是PUBLIC。
将界面视为汽车的控制装置(方向盘,制动器,离合器......),无论如何,总是可见。
如果您希望多个类实现相同的方法但保护它,您可能需要考虑使用抽象类。
答案 2 :(得分:0)
接口用于访问正在实现它的类的功能,因此您可以将类的对象分配给接口引用。您可以从该引用中调用方法。因此,只能访问公共功能。