0

interfaces为什么方法访问说明符只是public为什么不protected呢?

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

谁能给我解释一下。

4

3 回答 3

2

接口的全部意义在于它向外界公开方法,因此可以隐藏实现细节。

接口内部发生的事情不应该为外界所知。

于 2013-04-18T05:38:43.997 回答
1

因为接口本质上是公共的,如果你声明一个接口是因为你想确保每个人都实现相同的方法,并且这些方法是公共的。

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

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

于 2013-04-18T05:43:08.630 回答
0

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

于 2013-04-18T05:41:31.887 回答