1

比方说,我A.jar在我的项目中使用了第 3 方 jar,其中一些成员(类、方法等)具有默认访问权限(包私有)。现在,如果我在我的项目中创建相同的包名称,我可以使用 A.jar 中的默认访问修饰符访问成员(我在 Eclipse 中使用 Java Projects 进行了尝试)。

甲骨文的文件说:

如果一个类没有修饰符(默认值,也称为包私有),则它只在自己的包中可见

在这个特定的用例中(也没有使用反射)是否违反了这种哲学,因为这不是开发人员A.jar想要的,因为她只希望她的包中的类来访问这个特定的成员?

这是否也意味着 package-private 是一种便利机制,但不能用于保护数据等?

4

1 回答 1

0

考虑到这不是 A.jar 的开发人员想要的,因为她只希望包中的类来访问这个特定的成员?

如果她使用默认访问修饰符,她对保护默认成员的兴趣就会降低。

于 2013-10-23T05:47:05.710 回答