关于接口的问题

关于接口的问题

http://img1.sycdn.imooc.com//climg/5d4592240001069b04880397.jpg

我想问一下老师:
   1.接口前面的修饰符是public 吗?只不过在这里为了 满足“一个java源文件中可以写多个类,但是智能有一个public
   修饰的公开类,并且这个类的名字必须与文件名一致”这个java语法规定,所以这里隐藏了,对吗?
   2.接口的修饰符 可以是 public 和 默认的  就是什么写,还是说只能是public,如果是public 和 默认
     都可以的话,像上图中一样,什么都不写也就是默认的,但是它实际上还是public 吗?


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

        同学你好,1、在这里接口前的修饰符并不是public,而是默认! java规定:一个java源文件中可以写多个类,但是只能有一个public修饰的公开类,并且这个类的名字必须与文件名一致!所以这里的接口前的修饰符是默认而不是public!

        2、不需要在类或接口前加上default,default的意思就是没有任何访问修饰符的意思,如果加了default跟语法冲突,属语法错误。

http://img1.sycdn.imooc.com//climg/5d46705e00010b1a03170128.jpg

        3、接口的定义本来就是为了被继承,故protected和private不能作为修饰符,但是可以限制接口是对外提供还是只能在同一包中才能被使用,那就分别使用public和默认。注意接口不填任何修饰符,就是默认,表示只能在同一包下使用。

        综上所述,此时接口的访问修饰符是默认,而不是public!

        如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • jia_蛙 提问者 #1
    接口可以使用public 和默认的 ,但是我们案例为了更方便,几个接口写在了一起,且为了满足“一个java源文件中可以写多个类,但是只能有一个public修饰的公开类,并且这个类的名字必须与文件名一致!” 的规则,所以我们这里用了默认,是吧
    2019-08-04 14:33:30
  • 好帮手慕小班 回复 提问者 jia_蛙 #2
    同学的说法是正确的,在这里我们使用了默认,很棒呐,继续加油! 如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
    2019-08-04 15:37:56
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师