栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

default不是访问权限

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

default不是访问权限

今天我突然发现我分不清default和友好的是不是一个东西,default是不是默认的。

最后我得出的结论是:default不是访问权限,只是关键字!! 原因一:

我想起了构造方法的四个访问权限分别是public、protected、private和友好的;然后我就试验了一下用default去修饰构造方法,代码如下图,答案是不行的。

那在这我先得出的结论是:友好的=默认的 != default

友好的和默认的就是什么修饰符都不加。

原因二:

default从我学习Java以来就只见到过它出现在接口和switch中。首先,很明显在switch中它表示的不是访问权限;然后是在接口中,我本以为它是访问权限,但我又想起我同时使用过public和default去修饰接口里的方法,代码如下图:

那很明显这里的访问权限是public,而default在这仍然不是访问权限,它只是让接口实现了这个方法。

原因三:

在百度查到的第一条结论就是default是包访问权限,其实我写这篇博客还是挺慌的,我竟然在推翻百度,那我们就来推翻一下吧!

OMG!我竟不知道怎么推翻,default又不能修饰类也不能修饰方法的(接口里的方法可以),我两个不同的包都准备好了,结果还没开始就结束了。。。

那么我愤怒的结论就是:连类和方法都无法修饰算什么访问权限!

原因四:

各种教材上从未说过default是访问权限!实在是离了个大谱,为什么大家会出现了这样统一的错误认知。。

首先是我在书上找到的友好类和友好方法,以及访问权限的简单概况

 从以上四张图来看,我都没有看到有关default的任何蛛丝马迹。

那我们再来找找default出现在接口的地方的描述,看下图:

第三行和最后一行对default的描述都只是关键字!更重要的是第四行的后一半:default的实例方法的访问权限必须是public,这还不明显吗!?

最后说一下:希望大家自己去思考一下这个问题,我的学习经历很浅,而我在网上查阅到的都是说default是访问权限的(书上形容default说的是关键字,这确实让人头大)。我不知道什么原因出现了default是访问权限这样统一的认知(我的室友告诉我可能因为它是缺省的英文,那确实还是有点离谱),不过我还是更相信自己验证出来的东西,我也希望你们的答案也是自己验证出来的。究竟是不是,也只能看你自己的理解,多把自己的想法敲出来。你看了我的博客,也一定看到了别的大佬的博客,那么这些不同的思路和想法只能靠你自己慢慢消化了。如果有不同的见解也希望可以和我分享一下呀!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/835955.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号