类别A
、类别B
和类别C
在同一个包中。
A
具有methodA1
,并且我希望仅从类别B
而不是类别C
访问它(用户不应该从C
访问methodA1
(。我如何在Java中实现这样的东西?
同一包中的类应该相互协作。如果C对A的访问权限不应该与B相同,那么C不应该与A和B在同一个包中。因此,您的第一个选择是将C移到不同的包中。
一种可能的替代方案是使B成为a中的嵌套类。作为嵌套类,它可以访问a中的私有成员,而C不能访问这些成员。