gpt4 book ai didi

java - 如何使类的成员只能在任何包的子类中访问?

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

如何使类的成员只能在任何包的子类中访问? Protected 不是一个解决方案,因为它会将成员开放给其他非子类类。

最佳答案

Java不提供绝对的封装。程序员(原始设计者和使用已发布 API 的任何人)都需要一定程度的纪律,以遵守语言之外的一些规则。关于成员(member)访问,您已经发现了这样一个案例。你想要的在 Java 中是不可能的。

从更广泛的角度来看,我想指出,如果程序员愿意付出足够多的努力,即使是私有(private)成员也可以被其他类访问。通过 JNI 进行的调用不必遵守任何访问修饰符。例如,参见 Can a native method call a private method?

语言外规范的其他示例包括 equals/hashCode 约定,类必须满足该约定才能在集合方面表现良好,但并非如此在语言级别强制执行。

关于java - 如何使类的成员只能在任何包的子类中访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44761409/

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