我正在用 Java 构建一个非常简单的库,它将打包在一个 Jar 中。它应该只暴露一个类:World。World 类使用 Block 类的子类,在同一个包(com.yannbane.a
)中,本身并没有提供很多功能,但需要扩展。我计划创建另一个包,com.yannbane.a.blocks
它将包含所有块类型(子类)。
因此,目录/包结构应如下所示:
com/
yannbane/
a/
World.java
Block.java
blocks/
Brick.java
Stone.java
但是,为了让 Block 的子类真正扩展 Block 类,我需要创建 Block 类public
。这破坏了我让 Jar 文件只公开一个类 World 的目标。我还需要公开子类,以便世界可以使用它们。
我怎样才能保留这个包和目录结构,但仍然让我的 Jar 只公开 World 类,而不是其他类?