为了账号安全,请及时绑定邮箱和手机立即绑定

为啥在接口的方法中不能用private和protect修饰?

为啥在接口的方法中不能用private和protect修饰?

Jamespan 2016-09-26 09:31:56
为啥在接口的方法中不能用private和protect修饰?而可以用系统默的。系统默认的权限范围不是介于private和protect之间的吗?
查看完整描述

4 回答

已采纳
?
Caballarii

TA贡献1123条经验 获得超629个赞

接口中的方法写不写public都是public的,而不是你所想的默认的。因此,实现类里实现的接口方法必须声明是public的而不能不写。如果不是public,给别的包里的类implement就没意义了

查看完整回答
反对 回复 2016-09-26
?
阿旭_

TA贡献217条经验 获得超353个赞

就这么规定的。

规定的原因没法问本人,只能猜。

我猜设计之初的目标是为了其它接口定义协议,协议嘛就是谁都可以用。里面的抽像方法都是public(否则别人没办法使用)因此里面的规定属性也都默认修改了public,为了方便别人别人使用,如果设置成private,那接口不能实例化,也不能通过类名. 那还怎么使用?声明就没意义了。

查看完整回答
1 反对 回复 2016-09-26
  • Jamespan
    Jamespan
    好像不是这个原因
  • 阿旭_
    阿旭_
    我觉得具体原因不重要,每个语言都有他的规定,只要知道这个规定是接口声明的方法(默认都是public abstract的)变量(默认都是public static final的)写不写都会给默认加上就好了。
?
慕粉13212751343

TA贡献1条经验 获得超0个赞

接口是一种规范,是其他类用来实现的,加了private别的类怎么来实现?

查看完整回答
反对 回复 2016-09-28
?
redstonesl

TA贡献55条经验 获得超12个赞

public默认的

查看完整回答
反对 回复 2016-09-27
  • 4 回答
  • 0 关注
  • 6342 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信