【发布时间】:2020-07-12 11:57:33
【问题描述】:
A 类、B 类、C 类在同一个包中。
A 有methodA1,我只想从B 类而不是C 类访问它(用户不应该从C 访问methodA1)。我怎样才能在 Java 中实现这样的东西?
【问题讨论】:
-
让它成为(静态)内部类?
标签: java access-modifiers
A 类、B 类、C 类在同一个包中。
A 有methodA1,我只想从B 类而不是C 类访问它(用户不应该从C 访问methodA1)。我怎样才能在 Java 中实现这样的东西?
【问题讨论】:
标签: java access-modifiers
同一个包中的类应该相互合作。如果 C 不应该对 A 具有与 B 相同的访问权限,则 C 不应与 A 和 B 在同一个包中。因此,您的第一个选择是将 C 移到不同的包中。
一种可能的选择是使 B 成为 A 中的嵌套类。作为嵌套类,它可以访问 A 中的私有成员,而 C 无法访问。
【讨论】: