让我们说,我在我的项目中使用第三方jar A.jar
,其中一些成员(类,方法等)具有默认访问权限(包私有)。现在,如果我在项目中创建相同的包名,我可以使用来自A.jar的默认访问修饰符访问成员(我在Eclipse中使用Java Projects尝试了这一点)。
如果一个类没有修饰符(默认的,也称为包私有),它只在自己的包中可见
这个特定的用例(也没有使用反射)也没有违反这个哲学,因为它不是A.jar
的开发者想要的,因为她只想要她的包中的类访问这个特定的成员?
这也意味着,package-private是一种便利机制,但不能用于保护数据等。
答案 0 :(得分:0)
这个特定的用例(也没有使用反射)也没有违反这个哲学,因为它不是A.jar的开发者想要的,因为她只希望她的包中的类能够访问这个特别的成员?
如果她使用默认访问修饰符,她对保护默认成员的兴趣就会降低。