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是访问权限这样统一的认知(我的室友告诉我可能因为它是缺省的英文,那确实还是有点离谱),不过我还是更相信自己验证出来的东西,我也希望你们的答案也是自己验证出来的。究竟是不是,也只能看你自己的理解,多把自己的想法敲出来。你看了我的博客,也一定看到了别的大佬的博客,那么这些不同的思路和想法只能靠你自己慢慢消化了。如果有不同的见解也希望可以和我分享一下呀!

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值