将类隐藏在jar文件中

在jar文件中隐藏某些类真的是不可能的吗?

我不想允许类的直接实例化以使其更加

灵活。该罐子只有工厂(或外墙)可见。

除了创建两个项目之外,还有什么其他方法可以解决此问题?

(两个项目:第一个项目包含类(实现),

另一个项目引用第一个项目并包含工厂;稍后仅

引用第二个项目)

回答:

我认为如果您的公共工厂方法尝试返回“隐藏”的东西,您将遇到编译器故障或警告。

不,您不能在不重新实现自己的类ClassLoader或使用OSGi或任何类似工具的情况下隐藏公共类。

您可以做的是将接口api与实现分开,例如,拥有一个仅包含接口的项目,以及另一个包含实现的项目。但是,您仍然无法隐藏实现类

以上是 将类隐藏在jar文件中 的全部内容, 来源链接: utcz.com/qa/407716.html

回到顶部