在Java中访问单独包中的文件
我在学校的一个项目中,在访问单独文件夹中的几个课程时遇到了问题。我正在使用Geany,并且需要能够让这些类相互对话,可以这么说 有一个主文件夹,其中所有单独的包都包含在各自的文件夹中,每个文件夹中都有特定于该包的所有类 在我的例子中,我需要能够在gameObjects包中包含一些类,以便在组件包中使用。我试过了在Java中访问单独包中的文件,java,import,Java,Import,我在学校的一个项目中,在访问单独文件夹中的几个课程时遇到了问题。我正在使用Geany,并且需要能够让这些类相互对话,可以这么说 有一个主文件夹,其中所有单独的包都包含在各自的文件夹中,每个文件夹中都有特定于该包的所有类 在我的例子中,我需要能够在gameObjects包中包含一些类,以便在组件包中使用。我试过了 import gameObjects.Room; import gameObjects.Entity; 但我得到了这个编译错误: Position.java:3: error: p
import gameObjects.Room;
import gameObjects.Entity;
但我得到了这个编译错误:
Position.java:3: error: package gameObjects does not exist
有没有办法让这些学生互相交谈?提前谢谢
编辑:目录路径如下所示:
C:\Users\matt\Desktop\New folder\Project
在这个项目文件夹中有多个文件夹,其中包含不同的类。我需要能够有两个类从我的项目文件夹中的不同文件夹相互交谈
我是这样编译的
C:\Users\matt\Desktop\New folder\Project\components>javac Position.java
编辑#2:房间类和实体类都包含在名为gameObjects的文件夹/包中,它们与该文件夹中的其他所有类一起包含
package gameObjects;
作为它的第一行
我在访问单独文件夹中的几个类时遇到问题
为了一个项目
文件夹基本上是包。因此,教室和实体不能位于不同的文件夹中,因为正如您所写:
导入游戏对象导入游戏对象。实体 这些类应该在“gameObjects”文件夹/包中。所以我猜你的项目结构是错误的。如果您想将它们保存在不同的文件夹中,那么它将有不同的包 Position.java:3:错误:包gameObjects不存在
将这两个类放在gameObjects文件夹中,然后添加到每个文件的第一行“package gameObjects;”将
.java
文件放在资源管理器中单独的文件夹中并不意味着为它们指定任何包。为了能够导入类,您需要确保为它们指定一个包。你可以通过以下方式实现:
package gameObjects;
在适当的.java
文件的最开始处的行。指定该包后,可以通过以下方式导入该包中包含的类:
import gameObjects.nameOfClass;
请注意,如果您没有在.java
文件的开头指定包
,那么它将包含在默认包中(您只能从默认包中包含的其他类访问默认包中包含的类)。您不能导入没有包名的类在.java
文件开头的code>语句,所以不能在默认包之外使用它们
请注意,Java自己负责将
.Java
文件放入硬盘上的特定文件夹中。因此,当您指定sample.java
文件包含在yourpackage
中时,在您的项目目录中创建了一个名为yourpackage
的文件夹,并将sample.java
放入该文件夹。请将目录结构与文件一起发布。Room
的第一行是什么?您是如何编译/运行的?我们需要目录结构,编译行及其所有选项。还请指定编译的目录。将.java
文件放入同一文件夹并不等于为它们指定相同的包。此外,将.java
文件放入任何文件夹并不意味着您已将这些文件包含在任何包中。为了确保这些文件在包中,这些文件的第一行(不考虑注释)应该是package yourPackageName代码>房间和实体在gameObjects中。对不起,我没有说清楚。我要做的是导入这些类并在组件包中使用它们;在文件的开头,是否要导入它们?因为他们现在都是。gameObjects包中每个文件的第一行是:PackageGameObjects;是的,如果你想用import gameObjects.Room导入这两个类代码>和导入游戏对象
,您需要在Room.java
和Entity.java
的最开始处放置以下行:打包游戏对象代码>如果您想导入包含在 GAMObjs< /Cord>包中的所有类,您可能需要考虑使用快捷方式:<代码>导入GAMObjices对象。*;<代码>-使用这一行,您只需导入gameObjects
包中包含的所有类,而不需要编写两行独立的import…
行。因此,它们都在文件的开头,但导入仍会导致相同的编译错误:(说包gameObjects不存在。是的,两者都存在。)(如果要同时导入这两行,并且希望这两行都包含在同一个包中)。添加这些行后是否保存了文件?