使Java方法仅对特定类可见

我有一个经理类,负责管理某种对象。为此,需要操纵这些对象,但是这些对象与管理器没有任何关系,因此从技术上来说,它们位于单独的程序包“

project.managers”和“

project.objects”中。重要的是,所讨论的对象仅应由管理者操作,而不能在其他任何地方操作,而需要项目中的所有其他类都可以访问。

因此,我希望管理人员有权使用操作方法,但要限制对其他所有类的访问。最明显的一个方法是将管理器类和对象类移到同一程序包中,并声明要保护的操作方法,但是由于管理器和对象是完全独立的实体,因此从哲学上讲它们并不适合。

(部分原因是,当我在有关对象上自动完成代码时,我希望我的IDE停止向我显示操作方法,因此,我总是必须经过管理器,以便每当更改有关对象时,正确更新相应的表)

是否有任何想法或明显的方法在任何情况下都是最好的?

回答:

为什么不叫一个接口

ManagerFunctions

另一个叫做

ClientFunctions

您管理的对象将实现 这两个

创建托管对象时,您将它们传递给其他对象,但仅作为对的引用ClientFunctions。但是,管理器对象将引用它们ManagerFunctions,因此可以访问其“托管”功能。适当的转换只会暴露出适当的方法。

根据如何引用这些对象,您的IDE将自动为您提供适当的方法。

以上是 使Java方法仅对特定类可见 的全部内容, 来源链接: utcz.com/qa/403936.html

回到顶部