的早期版本Sun的 Java语言支持编译器
名为的可见性修改器私人受保护
除了
其他然而
私人受保护从中删除
JDK公司11.0.1版本。

根据我的第一版的副本
Java技术手册
的含义私人受保护如下所示:


A类私人受保护方法或变量为
仅在其自己的类和任何子类中可见。
课程可能不是私人受保护.一个子类
可以访问私人受保护领域
由其实例继承,但它无法访问
超类实例中的字段。

但其含义可能在
它被引入的时间以及最终被移除的时间。

我一直以为私人受保护本应如此
是…的限制形式受保护的。请参阅,
受保护的有这么恶心怪癖在里面
它允许访问其他类
在同一个包中--即使不是
子类——以及其他
包装。禁止访问资料的能力
在同一个包中会有好东西国际海事组织

这是第(6.14)节的副本Java程序员常见问题这解释了为什么要放弃私有保护:
它最初出现于JDK公司1.0 FCS(它没有出现在测试版中)。然后在JDK 1.0.1中删除了它。这是一次丑陋的黑客攻击语法上,它与另一个不一致访问修饰符。它从未正常工作:在在删除JDK之前,对私有保护方法的调用没有动态绑定,这是应该的。它几乎没有给语言增加什么功能。重用现有的总是一个坏主意关键字s具有不同的含义。将两者结合使用只会加重罪过。

官方报道称这是一个错误。这还不是全部。Private protected之所以加入是因为它受到了拥护由一位强有力的倡导者发起。当他被公众鼓掌推翻时,这一提议被取消了。

就我个人而言,我认为这是不必要的,也不会是真正的好东西,原因如中所述Java中神秘的第五级可见性:同一个包中的类是由您自己或您应该深入交流的人编写的。保护自己免受愚蠢之害不是编译器的工作

登录登记在这里写点什么或联系作者。