java 接口修饰符,public写与不写有什么异同?

ma_arr 2017-03-10 11:24:26
发现在jdk源码中,大多数带有public修饰符,而在同一interface中,有的方法又没有修饰符public,请问那一位人士有研究过他们的异同?(冗余、规范之类的答案勿扰)
...全文
2496 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hansem_ 2018-05-23
  • 打赏
  • 举报
回复
引用 10 楼 Hansem_ 的回复:
我自己测试了一下,接口只能有三种修饰符,public/abstract/default(啥都不填) abstract interface 和 interface 的区别在http://www.iteye.com/topic/378747 这里介绍了 没啥区别 default 的话我自己写了个例子,如果接口是default, 那么实现类需要在接口的同包下, 并且实现类也需要是default, 我试过了用protect去修饰实现类,并放在另外的一个包 表示不行的说
所以default 修饰的接口, 更像是代码编写部门内部给程序员写实现类的一个限制, 具体有什么用还不清楚,等大佬
Hansem_ 2018-05-23
  • 打赏
  • 举报
回复
我自己测试了一下,接口只能有三种修饰符,public/abstract/default(啥都不填) abstract interface 和 interface 的区别在http://www.iteye.com/topic/378747 这里介绍了 没啥区别 default 的话我自己写了个例子,如果接口是default, 那么实现类需要在接口的同包下, 并且实现类也需要是default, 我试过了用protect去修饰实现类,并放在另外的一个包 表示不行的说
jack_zhou. 2018-05-01
  • 打赏
  • 举报
回复
不写不是默认public,就是只有在同一包中访问的权限
ma_arr 2017-03-13
  • 打赏
  • 举报
回复
自己顶一顶!!
  • 打赏
  • 举报
回复
java定义的接口方法默认含有public abstract 是为了更好的被实现 ,我们正常的定义在方法前面加上public abstract是为了体现在实现接口的时候不会出现问题 ,,其实在接口可以定义私有的方法这样也不会报错
ma_arr 2017-03-10
  • 打赏
  • 举报
回复
期待来个java大神,至少理解过jdk源码人士
ma_arr 2017-03-10
  • 打赏
  • 举报
回复 1
这不是什么 public protect private ......领域范围的问题,这是jdk源码为什么要在这里写public或不写public的问题,就是在什么样的情况下写上public之后有何好处,优点,默认修饰符又有何优点,他们之间的异同,目前清楚的知道(代码规范化,冗余)。 不是和你们讨论接口使用什么修饰符。 明确一点,接口修饰符jdk1.8一下均为public,不存在什么 protect private default等 ..... 你们还不如一楼知道清楚。
赏金--猎人 2017-03-10
  • 打赏
  • 举报
回复
去了解一下 public protect private 。。。的区别。
ma_arr 2017-03-10
  • 打赏
  • 举报
回复
#2 2楼你最好回去认真看一看,接口方面的知识,不要糊里糊涂的
理太偏 2017-03-10
  • 打赏
  • 举报
回复
接口中,不写修饰符,默认为public,其余类中方法不加修饰符默认为default,可在同包类及同包子类中使用
jiajing1990_ 2017-03-10
  • 打赏
  • 举报
回复
interface中可以不用写的,默认是public的

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧