如何导入Java中的包?
我有一个包含一些类文件的“Sprites”文件夹和一个包含一些类文件的“Launcher”文件夹。我尝试了以下代码进行导入:如何导入Java中的包?,java,import,packages,Java,Import,Packages,我有一个包含一些类文件的“Sprites”文件夹和一个包含一些类文件的“Launcher”文件夹。我尝试了以下代码进行导入: package Sprites; 这导致了以下几点 hw9\Launcher>javac *.java TowerDefense.java:2: error: class, interface, or enum expected package Sprites; ^ 1 error 我做得不对吗?我的精灵和启动器在hw9目录中,所以我认为它可以工作。澄清图片:
package Sprites;
这导致了以下几点
hw9\Launcher>javac *.java
TowerDefense.java:2: error: class, interface, or enum expected
package Sprites;
^
1 error
我做得不对吗?我的精灵和启动器在hw9目录中,所以我认为它可以工作。澄清图片:
您可以使用通配符导入来导入立即目录中的所有类:
import Sprites.*;
这与以下内容相反:
import Sprites.Class1;
import Sprites.Class2;
import Sprites.Class3;
...
通常,通配符导入会产生冲突和错误(例如
java.awt.List
和java.util.List
),因此通常最好避免冲突和错误
包的大小写也应该是小写。错误是由于语法造成的,通常是当您看到类似于
…预期的的东西时,这是语法错误指示器
在launcher包中的类中,包括所引用类的import
语句
它应该如下所示:
package the.name.of.your.package;
import Spirites.NameOfclass; //quialify the import parth as is
class YourLauncherClass{
//class definition
}
还要确保导入和打包结束时不缺少分号。
希望能有所帮助。最佳做法是导入所需的特定类,而不是导入完整的包
import Spirites.NameOfclassRequired;
class YourClass{
//class definition
}
如果您使用的是eclipse,那么当您使用eclipse导入所需的特定类时,可以使用CTRL+SHIFT+O
来实现。例如,如果您使用ArrayList而不是导入java.util.*
将导入java.util.ArrayList代码>
如果您需要从一个包中导入多个类,那么确保您可以导入整个包请遵守Java命名约定,确保您的包仅使用小写字母命名。我将其更改为小写并尝试导入精灵。*,但我收到一个错误,指出“包精灵不存在”。我有点困惑,因为它们都在同一个目录中。包应该在它们命名的目录中-请参阅阅读。我收到一个错误,说明在导入精灵之后,包精灵确实存在。*@包名称区分大小写,反映实际目录。确保现有目录的拼写与代码中引用它的拼写相同。如果您使用的是IDE,您可以请求它提供正确的导入,这样您就可以验证这些类是否在类路径上。我将其重命名为小写,并进行了调整。我认为我没有使用IDE,所以很遗憾我无法验证。我试图将我的“sprites”文件夹移出hw9目录,但看起来也不起作用。@该位置应该可以。hw9
文件夹也是一个包吗?我不这么认为。hw9只是一个包含“精灵”和“启动器”的目录。我可以提供一张图片来澄清