【发布时间】:2019-02-07 18:40:21
【问题描述】:
据说一个java包可能包含类,接口,枚举,...但是我一直在网上寻找,我仍然没有找到我要找的东西...当我看到包信息时文件它们还包括类...我的想法是包在同一个文件中定义类、接口等,但类的代码应该在单独的类文件中,不是吗?
我是否应该在我为 Eclipse 创建的每个类中命名相同的包,以便将它们放在同一个包下而不需要包信息文件?另一方面,Eclipse 真的有必要为每个包创建一个 treedir 吗?我可以在类所在的包文件中定义吗?包信息文件的内容是什么?
也有人说,当你要使用一个包时,它应该是 .jar 格式的……是真的吗?
我想做的是构建一个通用的自定义包,以便在多个项目中使用它,但我希望将它链接而不是复制到每个项目,所以我只修改一次代码......这可能在日食?
想法 1: + 包含所有定义和类位置的包文件 + 一堆按主题分布在不同文件夹中的类 + eclipse 将使用链接的包文件在包含包中引用的类的文件夹树中创建一个包。
想法 2: + 没有包文件 + 每个类都会通过包含包名来说明哪个包在其中 + eclipse 将使用一组链接的类,这些类引用同一个包,所以这就是它在项目树中创建的内容。
更新20180904:
我想将我的所有课程存储在一个单独的文件夹中,例如“.../classes/*.java”
我计划在 Eclipse 环境允许的情况下链接其中一些类,例如“.../src/com.dataproc/class1.java ...”
-
我想编译该包并为我正在开发的项目和特殊目录中的其他项目做好准备,例如“.../mylib/common/*.jar
当我说“同时”时,是因为我想在同一个环境中工作,为我的包和项目创建类。
如您所想,我仍然是 java 和 Eclipse 的菜鸟,但是,嘿,渴望学习!我不得不说我查看了提到的Oracle info about packages,但我仍然不清楚如何进行。这对我来说太基础了,所以我不明白是否必须在每个类 java 文件中声明包或在某个 package-info.java 文件中声明我想要的所有类,我所知道的是我必须使用“在我的项目中导入 mypackagename.*"...
非常感谢任何帮助或指导。
20180926更新:这个问题已经解决from this related question
【问题讨论】:
-
一个包可以包含类、接口等和一个或没有
package-info.java文件。一个包对应一个文件夹(例如,包com.example.foo是文件夹com/example/foo)。package-info.java文件不能包含类、接口等,但可以包含 Javadoc,也可以用来给包添加注解。源文件(*.java)被编译为字节码(*.class文件)。通常将这些已编译的*.class文件作为单个 JAR 文件而不是作为包含*.class文件的目录发送。
标签: java eclipse class package project