关于接口的修饰符

Android小莱鸟 2016-06-01 11:36:43
接口可以修饰成 protect和private吗? 比如 protect interface xx{};



我觉得如果自定义接口的接口只适应于一个特有的包那就没必要申明public啊?

而且周围的朋友都说接口默认public?

求全面解释~
...全文
255 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Android小莱鸟 2016-06-02
  • 打赏
  • 举报
回复
引用 4 楼 byssh1989 的回复:
接口可以设置成 public 或者 default;,不能设置成 protect和private。 “自定义的接口只适应于一个特有的包”的话,就用default
自定义接口这说法确实新颖,能说明目前的问题 教科书还是要抱着怀疑的态度 就如 匿名内部类时候用: new 接口 谢谢
Android小莱鸟 2016-06-02
  • 打赏
  • 举报
回复
引用 5 楼 monkeyqqqq 的回复:
首先抛开你贴的代码 光说修饰符 public protected private defalut(friendly) 的出现很大程度上是出于封装以及安全的角度考虑的 这些修饰符可以作用于 域(成员变量) 方法 类 接口 具体区别上网查 其中 普通的类 只能用friendly 或者public 修饰 普通的接口只能是public的 (这个原因很明显 接口被设计出来就是供别人使用的 面向对象的多态 的特性 和各种设计模式解耦的原理 本身也依赖于接口来实现 你把它搞成protectd的是违背设计初衷的 当然不行了。。) ok 基本的概念清楚了 再看你贴的代码 为什么我上面说的是普通类 和普通接口呢 因为还有内部类和内部接口 如果把类外部看成一个宏观世界的话 类的内部就是一个微观世界 也可以定义接口和类 你的代码 Interface_Class这个类 里头定义了几个内部接口 当然 这几种修饰符都是可以的 但是这种内部接口如果想访问的话要定义成static的 通过Interface_Class.public_Interface 来访问 所以 你的interface_class 里头 调用的时候 B_main 如果你的本意不是问内部类或者内部接口 可以无视这段话
谢谢,这也证明了接口确实可以用别的修饰
狂暴的小猴儿 2016-06-02
  • 打赏
  • 举报
回复
首先抛开你贴的代码 光说修饰符 public protected private defalut(friendly) 的出现很大程度上是出于封装以及安全的角度考虑的
这些修饰符可以作用于 域(成员变量) 方法 类 接口 具体区别上网查 其中 普通的类 只能用friendly 或者public 修饰 普通的接口只能是public的 (这个原因很明显 接口被设计出来就是供别人使用的 面向对象的多态 的特性 和各种设计模式解耦的原理 本身也依赖于接口来实现 你把它搞成protectd的是违背设计初衷的 当然不行了。。)

ok 基本的概念清楚了 再看你贴的代码 为什么我上面说的是普通类 和普通接口呢 因为还有内部类和内部接口 如果把类外部看成一个宏观世界的话 类的内部就是一个微观世界 也可以定义接口和类 你的代码 Interface_Class这个类 里头定义了几个内部接口 当然 这几种修饰符都是可以的 但是这种内部接口如果想访问的话要定义成static的 通过Interface_Class.public_Interface 来访问 所以 你的interface_class 里头

调用的时候 B_main

如果你的本意不是问内部类或者内部接口 可以无视这段话
LOVEv海盗 2016-06-02
  • 打赏
  • 举报
回复
接口可以设置成 public 或者 default;,不能设置成 protect和private。 “自定义的接口只适应于一个特有的包”的话,就用default
Android小莱鸟 2016-06-01
  • 打赏
  • 举报
回复
Android小莱鸟 2016-06-01
  • 打赏
  • 举报
回复
Android小莱鸟 2016-06-01
  • 打赏
  • 举报
回复

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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