接口中的作用域为何不能为protected

来源:互联网 发布:百度软件商店 编辑:程序博客网 时间:2024/06/05 15:13

在写代码的时候,就是接口中的函数作用域不能为protected,在网上也看了一些,发现说的不是很到位,后来翻书看了下,感觉有了点自己的理解。
查看《Java编程思想》第四版的184页上面有一句话说的“接口中的域自动是public的,只是没有显示的指明这一点。”而且根据重写覆盖的原则中,如果要覆盖以前的方法,则域不能小于被写方法的域,因此这里只能为public,也就是说他的默认就是public 。
这个可以通过一个例子来验证,如下:
这里写图片描述
我们先假设:其中接口中的函数fun()的前面的作用域是default,则根据覆盖重写的作用域必须不能小于被覆盖函数的作用域的原则来说,根据private < default < protected < public ,则用Protected是可以的,但是上面的例子发现是不行的,因此可以证明接口中的void fun();函数的作用域是在Protected以上的,因此为Public。而且idea编辑器中也说明了这一点。

1 0
原创粉丝点击