java类方法不可见_使java方法仅对特定类可见

我有一个经理类负责管理某种对象.要做到这一点,它需要操纵这些对象,但这些对象与管理器无关,所以从技术上讲,它们位于单独的包“project.managers”和“project.objects”中.重要的是,有问题的对象只能由管理者操纵,而不是其他任何地方,但需要项目中的其他每个类都可以访问.

因此,我希望管理员可以访问操作方法,但限制对其他所有类的访问.最明显的一种方法是将管理器类和对象类移动到同一个包中并声明受保护的操作方法,但由于管理器和对象是完全独立的实体,因此它们不符合哲学.

(这部分是因为我希望我的IDE在我自动完成有问题的对象上的代码时停止向我显示操作方法所以我总是必须通过管理器的路径,以便每当我更改有问题的对象时相应的表都会正确更新) .

有什么想法,或者在任何情况下最明显的方式是最好的吗?

解决方法:

为什么没有调用接口

ManagerFunctions

和另一个叫

ClientFunctions

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

创建托管对象时,可以传递它们,但仅作为对ClientFunctions的引用.但是,管理器对象将它们称为ManagerFunctions,因此可以访问它们的“托管”功能.适当的铸造将简单地暴露适当的方法.

您的IDE将根据引用这些对象的方式自动显示相应的方法.

标签:java,package,theory,access-specifier

来源: https://codeday.me/bug/20190625/1287355.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值