包冲突情况下的私人访问修改器行为
比方说,我在我的项目中使用第三方jar A.jar
,以及一些具有默认访问权限(包私有)的成员(类,方法等)。 现在,如果我在我的项目中创建相同的包名称,我可以使用A.jar中的默认访问修饰符访问成员(我在Eclipse中使用Java项目尝试过)。
甲骨文的文件说:
如果一个类没有修饰符(默认,也称为包私有),它只在它自己的包中可见
考虑到它不是A.jar
的开发人员所想要的,这种哲学在这个特定用例(也没有使用反射)中A.jar
,因为她只希望她的包中的类访问这个特定成员?
这也意味着,包私有是一种便利机制,但不能用于保护数据等?
考虑到它不是A.jar的开发人员所想要的,这种哲学在这个特定用例(也没有使用反射)中违反了,因为她只希望她的包中的类访问这个特定成员?
如果她使用默认访问修饰符,她对保护默认成员的兴趣就会降低。
链接地址: http://www.djcxy.com/p/24047.html上一篇: private access modifier behavior in case of package collision