用Java

时间:2018-03-27 20:49:11

标签: java import

我无法在单独的文件夹中访问我在学校的项目中的几个课程。我正在使用Geany,并且需要能够让这些课程相互交谈,可以这么说。

有一个主文件夹,其中包含所有单独的包作为自己的文件夹,并且在每个文件夹中都有特定于该包的所有类。

在我的情况下,我需要能够在gameObjects包中使用一些类来在组件包中使用。我试过了

import gameObjects.Room; 
import gameObjects.Entity; 

但是我得到了这个编译错误:

Position.java:3: error: package gameObjects does not exist

有没有办法让这些课程互相交谈?提前谢谢。

编辑:目录路径如下所示:

C:\Users\matt\Desktop\New folder\Project

并且该项目文件夹中包含多个文件夹,其中包含单独的类。我需要能够在Project文件夹中的不同文件夹中让两个课程相互通信。

我正在编译

C:\Users\matt\Desktop\New folder\Project\components>javac Position.java

编辑#2:Room和Entity类都包含在名为gameObjects的文件夹/包中,它们与该文件夹中的每个其他类一起包含

package gameObjects;

作为第一行。

2 个答案:

答案 0 :(得分:1)

  

我在单独的文件夹中访问几个类时遇到问题   对于一个项目

文件夹基本上都是包。所以类Room和Entity不能在不同的文件夹中,因为你写道:

  

导入gameObjects.Room;
  import gameObjects.Entity;

这些类应该在" gameObjects"文件夹/包。所以我猜你的项目结构是错误的。如果你想将它们保存在不同的文件夹中,那么它将有不同的包。

  

Position.java:3:错误:包gameObjects不存在

将两个类放在gameObjects文件夹中,然后在每个文件的第一行添加" package gameObjects;"

答案 1 :(得分:0)

.java个文件放在资源管理器中的单独文件夹中并不代表您为它们指定任何包。要能够导入类,您需要确保为它们指定。你可以通过推杆实现它:

package gameObjects;

在正确的.java文件的最开头。指定该包后,您可以使用以下命令导入该包中包含的类:

import gameObjects.nameOfClass;

请注意,如果您未在package文件的开头指定.java,则会将其包含在默认包中(您有只能从 default 包中包含的其他类访问 default 包中包含的类。您无法在package nameOfYourPackage;文件的开头导入不具有.java语句的类,因此您无法在 default <之外使用它们/ em>包。

请注意,Java负责将.java个文件单独放入硬盘驱动器上的特定文件夹中。因此,当您指定sample.java文件包含在yourpackage中时,项目目录中会创建一个名为yourpackage的文件夹,并将sample.java放入该文件夹中。< / p>