为什么界面方法范围只是公开的?

时间:2013-04-18 05:36:31

标签: java

interfaces为什么方法访问说明符只有public为什么不protected

interface IPractice {
    void test(); // it will be public
    protected void test2(); // why this is not allowed
}

任何人都可以解释一下这个。

3 个答案:

答案 0 :(得分:2)

接口的重点是它向外界公开方法,因此可以隐藏实现细节。

外界不应该知道界面内部发生的事情。

答案 1 :(得分:1)

因为接口本质上是公共的,如果您声明接口是因为您要确保每个人都实现相同的方法,并且此类方法是PUBLIC。

将界面视为汽车的控制装置(方向盘,制动器,离合器......),无论如何,总是可见。

如果您希望多个类实现相同的方法但保护它,您可能需要考虑使用抽象类。

答案 2 :(得分:0)

接口用于访问正在实现它的类的功能,因此您可以将类的对象分配给接口引用。您可以从该引用中调用方法。因此,只能访问公共功能。