在Java编程中使用模块

时间:2014-07-11 12:47:31

标签: java intellij-idea

希望这个问题只需要一个相当快速的答案,但我在网上发现一些我理解的东西并不幸运!

很简单,我正在研究我的第一个真正的Java项目,一个文本冒险,(使用IntelliJ IDEA),我只是想知道我是否需要将我的代码拆分成模块?所以,对于我的怪物,我应该将所有怪物类保存在一个名为Monsters的模块中,还是只能将它保存在同一个模块中?

我只是问,因为;
a)我不确定这是否是为了保持项目整洁而做的事情b)当我试图创建一个Monster模块时,我收到一个警告告诉我,这个模块中的文件无法从程序的其余部分访问,这似乎打败了我的对象...

非常感谢任何建议!

2 个答案:

答案 0 :(得分:2)

我相信你指的是IntelliJ的module概念。如其页面所述:

  

模块是一个独立的功能单元,您可以编译,运行,测试和调试   独立地

     

模块包含其特定任务所需的所有内容:   源代码,构建脚本,单元测试,部署描述符和   文档。但是,模块存在并且仅在模块中起作用   项目的背景。

因此,模块不应该引用其他模块的源代码。它们本质上应该是完全不同的单位。

thecbuilder's answer一样,您应该考虑使用Java的包装系统。

答案 1 :(得分:1)

如果你的意思是packages的模块,那么将相关的类保存在一个包中并在不同的包中分发不相关的类是个好习惯。

对于那些无法访问课程的内容,您必须让他们public从不同的包中访问它们。

关于包结构化的更多信息:

  1. http://www.javapractices.com/topic/TopicAction.do?Id=205
  2. http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html
  3. https://stackoverflow.com/a/3226371/3603806
  4. 对于访问说明符:

    access specifiers

    取自:http://www.go4expert.com/articles/java-access-specifiers-t28019/