如何在不暴露内部类的情况下在包中组织库

时间:2017-05-22 20:15:34

标签: java

我正在开发一个Java库。为了在内部组织事物,我将我的类放在2个包中:A和B.我只想将包A中的一些类暴露给库用户。但在内部,我需要从包A中访问包B中的一些类。

如何在不将包B中的类暴露给库用户的情况下如何做到这一点?如果我将它们打包为私有,我无法自己从A访问它们。如果我公开它们,它们对图书馆用户是可见的。

我是否必须将我的库中的所有代码放在一个大包中,以便我可以访问内部包私有类?

1 个答案:

答案 0 :(得分:1)

通常这是用不同的罐子完成的。一个jar将包含您的A包,其中包含最终用户需要使用的类。其他jar将包含您的A类将依赖的类。 这通常使用Maven等工具完成。一个很好的例子是使用Apache公共库。您可以在课堂上导入它们,但不需要将它们包含在您的jar中。您可以在运行时让Maven需要它们。