我正在使用eclipse创建一个项目,但我不熟悉它们的文件夹结构。 我想创建一个文件夹来保存特定类型的一堆游戏对象(尝试组织),但是他们从不同的文件夹扩展一个类...当我尝试这样做时,我得到错误说该类无法解析为类型...如果我在超类的文件夹中创建相同的游戏对象,它工作正常......
如何从其他文件夹扩展类?
如何在工作区视图中创建一个不影响文件夹之间引用的文件夹?
答案 0 :(得分:3)
我假设您正在使用Java进行开发。
Java包直接映射到源目录下面的目录替换。使用/(或Windows中的\)。如果你想要这样的东西:
src --+-- dir1 -+-- Foo.java
| +---Bar.java
+ dir2 ---- Baz.java
然后在Foo.java中引用类Baz,你会使用dir2.Baz
。作为快捷方式,您可以添加
import dir2.Baz;
位于Foo.java的顶部,并将类Baz称为Baz
。
答案 1 :(得分:1)
这里的切线略微偏离,完全可以将解决方案分解到多个源文件夹,但仍然将它们放在同一个包中。但是,它不会使源代码的组织特别“有组织”或很好。
然后每个源目录可以包含一个名称完全相同的包(因为包名的目录部分始终是相对的),并且当它全部编译时,它们将属于同一个包。
这会产生类似这样的东西
workspace --+-- src1 -- mypackage + -- Foo.java
| + -- Bar.java
+-- src2 -- mypackage + -- Baz.java
您仍然可以访问文件中的所有内容而无需明确导入它们。
答案 2 :(得分:0)
我将假设这是Eclipse中的Java项目;如果不是,请提供更多信息。
在不同包中使用类时,需要导入它们。这是通过类文件顶部的一个或多个import语句完成的,如下所示:
import java.util.List;
import java.util.ArrayList;
这告诉编译器,“当我引用List时,我想使用 java.util 包中的那个”。
在Eclipse中,尝试自动添加这些import语句的便捷方法是在源代码编辑器中右键单击并选择“Source”下的“Organize Imports”。 Eclipse将查看它知道的与该项目相关的所有代码和库,并尝试解决任何缺少的导入。如果它无法解决问题,它会提示您或忽略它。如果它找到了多种可能性,它通常会提示您选择您的意思。
有关软件包和分割源代码的详细说明,请参阅Java教程中的Packages lesson。