关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
三天前关门了。
改进这个问题
有一个大型项目,其中有一个类,其中一个方法返回对私有对象的引用 ArrayList
的 Objects
. 这自然打破了封装,但所有的类都是最终的(它不是一个很好的项目,并且违反了一些面向对象的原则)
通过重写public getter以返回列表的深度副本来重构项目需要重新生成大量代码,因为引用在多个地方被使用。
将这个项目 Package 到java模块中是否可以作为确保封装的一个足够的临时措施?如果我正确理解模块系统,除非我显式地允许它,否则没有其他类或包能够访问我没有授予访问权限的包,并且反射也不可能。
暂无答案!
目前还没有任何答案,快来回答吧!