将类隐藏在jar文件中
在jar文件中隐藏某些类真的是不可能的吗?
我不想允许类的直接实例化以使其更加
灵活。该罐子只有工厂(或外墙)可见。
除了创建两个项目之外,还有什么其他方法可以解决此问题?
(两个项目:第一个项目包含类(实现),
另一个项目引用第一个项目并包含工厂;稍后仅
引用第二个项目)
回答:
我认为如果您的公共工厂方法尝试返回“隐藏”的东西,您将遇到编译器故障或警告。
不,您不能在不重新实现自己的类ClassLoader
或使用OSGi
或任何类似工具的情况下隐藏公共类。
您可以做的是将接口api与实现分开,例如,拥有一个仅包含接口的项目,以及另一个包含实现的项目。但是,您仍然无法隐藏实现类
以上是 将类隐藏在jar文件中 的全部内容, 来源链接: utcz.com/qa/407716.html