添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
博客探讨了接口中方法访问权限不包含protected的原因,指出类不能直接继承接口,因此protected的意义在接口上下文中受限。文章通过访问权限表对比,强调default和private已能满足接口实现需求,从而质疑protected的必要性。 摘要由CSDN通过智能技术生成

接口中的方法访问权限可以是 public、default、private ,那为何不可以是 protected 呢? protected 级别不是在四者中间吗?

首先我们先回顾一下下面这张熟悉的访问权限表:

那么我们能够发现 protected 是可以让不同包的子类去进行调用的,那么我们想想一个类可能是一个接口的子类吗?显然不可能, 类只能实现接口,但那不叫继承接口 。虽然接口也是有子接口的,但那又如何呢,类还是无法继承接口啊。而如果 default private 就能够让类实现接口里的方法,那么 protected 的存在有何意义呢?

在jdk1.8之前, 接口 方法 默认都是abstract的,变量都是默认 publicstaticfinal,也就是 接口 只存在常量, 但是在jdk1.8 ,对 接口 方法 做出调整, 1、default 方法 如果在多个实现类实现该 接口 时,如果在 接口 增加一个 方法 ,就要去修改其实现类,如果实现类过多i,操作太过麻烦,所以在 接口 新增default 方法 ,该 方法 可以在 接口 自己实现,实现类 调用
对于 java 程序员来说, java 访问权限 修饰词public、 protected 、default、private的区别和使用肯定都不是问题,这里也不再啰嗦了,反正度娘一搜就一大把。最近在整理 java core的培训资料时,想到了几个关于权限修饰词的问题: 为什么类和 接口 (不考虑内部类和 接口 )不能使用private和 protected 修饰词,只能是public和default? 为什么 接口 的...