MyException - 我的异常网
当前位置:我的异常网» J2SE » 为什么接口中的方法不可以声明为protected或默认?

为什么接口中的方法不可以声明为protected或默认?解决方法

www.MyException.Cn  网友分享于:2013-02-22  浏览:37次
为什么接口中的方法不可以声明为protected或默认?
书上说,即使不写public,接口中的方法也是public的,那么为什么不允许把接口中的方法声明为protected或者默认呢?
假设接口中的方法允许被声明为默认,那么只有这个接口所在包内的,并且实现该接口的类,可以调用这个方法,
假设接口中的方法允许被声明为protected,那么只有这个接口所在包内的,并且实现该接口的类,以及这些类的子类可以调用这个接口中的方法
这两个假设从理论上也是说的通的啊,为什么实际不是这种情况呢?

------解决方案--------------------
这可能是SUN内部的规定。呵呵。。。。。。
------解决方案--------------------
请问如果接口是protect和private的,怎么使用它的多态,何况接口都是为了代码可以扩展用的,为什么还要缩小它的作用范围?(其实因为前面那个原因,后面那句根本就是废话)
------解决方案--------------------
同意楼上的回答,使用接口主要就是要应用它的多态嘛,那多灵活啊。
------解决方案--------------------
接口都是对外开放的呀,当然要public,楼主是想要接口只供某个包使用?那直接用抽象类吧
------解决方案--------------------
探讨
接口都是对外开放的呀,当然要public,楼主是想要接口只供某个包使用?那直接用抽象类吧

------解决方案--------------------
接口默认是 公有的,因为 接口没有必要去隐蔽, 接口就是给别人实现,给别人是使用的。
所以规定不可以用其他的方式去访问。
------解决方案--------------------
保护了,其他实现它的接口能用吗!那不就是留给自己了!还不如公开!
------解决方案--------------------
接口就一定是public的,Sun就是这么规定的,也没必要一定说它怎样合理,将就用吧。

就象楼上有这么说的:
接口都是对外开放的呀,当然要public

你也这样理解:
接口是public的,所以只能对外公开。


------解决方案--------------------
LZ需要好好看看关于接口这一块了,接口定义后是要去让其它类实现了,这才弥补了单继承的问题,如果是默认的话(private)或是protected的帽接口则会变得毫无意义,其实这些东西书上都做了很明确的阐述,只是LZ不用心而已
------解决方案--------------------
默认不是private,是default,有些书说是friendly
------解决方案--------------------
这样做就缩小了接口的使用范围
------解决方案--------------------
接口没规定是public的啊,也可以是缺省的package
但在项目中一般是public的,这跟编程开闭原则有关,编程到接口。
 
------解决方案--------------------
探讨
接口就一定是public的,Sun就是这么规定的,也没必要一定说它怎样合理,将就用吧。

就象楼上有这么说的:
接口都是对外开放的呀,当然要public

你也这样理解:
接口是public的,所以只能对外公开。


------解决方案--------------------
对,
 接口是一套公共的规范。
 所以要public。
 楼主很注意思考~~
------解决方案--------------------
接口,就是定位了一堆规范,让别人去实现的。
所以他是public 的·
楼上的总结的很好,以后也要好好回帖总结·
------解决方案--------------------
接口本来就是要去别的类去实现的
你把方法弄成private 别的类不都哭了?

文章评论

程序员和编码员之间的区别
程序员和编码员之间的区别
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
旅行,写作,编程
旅行,写作,编程
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
 程序员的样子
程序员的样子
Java程序员必看电影
Java程序员必看电影
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
10个调试和排错的小建议
10个调试和排错的小建议
中美印日四国程序员比较
中美印日四国程序员比较
漫画:程序员的工作
漫画:程序员的工作
老程序员的下场
老程序员的下场
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
那些争议最大的编程观点
那些争议最大的编程观点
鲜为人知的编程真相
鲜为人知的编程真相
总结2014中国互联网十大段子
总结2014中国互联网十大段子
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
一个程序员的时间管理
一个程序员的时间管理
程序员的鄙视链
程序员的鄙视链
程序员都该阅读的书
程序员都该阅读的书
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
为什么程序员都是夜猫子
为什么程序员都是夜猫子
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
代码女神横空出世
代码女神横空出世
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
我是如何打败拖延症的
我是如何打败拖延症的
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
如何成为一名黑客
如何成为一名黑客
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
程序员必看的十大电影
程序员必看的十大电影
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
我的丈夫是个程序员
我的丈夫是个程序员
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有