gpt4 book ai didi

包冲突时的 Java 包私有(private)访问修饰符行为

转载 作者:行者123 更新时间:2023-12-01 04:14:47 25 4
gpt4 key购买 nike

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

Oracle's document说:

If a class has no modifier (the default, also known as package-private), it is visible only within its own package

在这个特定的用例中(也不使用反射)是否违反了这种哲学,因为这不是 A.jar 的开发人员所希望的,正如她所希望的那样只有她的包中的类才能访问这个特定的成员吗?

这是否意味着包私有(private)是一种方便的机制,但不能用于保护数据等?

最佳答案

Isn't this philosophy violated in this particular use case(that too without using reflection), given that it is not what the developer of A.jar would have intended, as she would have wanted only classes in her package to access this particular member?

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

关于包冲突时的 Java 包私有(private)访问修饰符行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19533664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com