我有一个带有一些类文件的“Sprites”文件夹和一个带有一些类文件的“Launcher”文件夹。我尝试使用以下代码进行导入:
package Sprites;
它导致以下
hw9\Launcher>javac *.java
TowerDefense.java:2: error: class, interface, or enum expected
package Sprites;
^
1 error
我做错了吗?我的Sprites和Launcher在hw9目录中,所以我认为它会起作用。一张图片澄清:
答案 0 :(得分:2)
您可以使用通配符导入来导入直接目录中的所有类:
import Sprites.*;
这与以下内容相反:
import Sprites.Class1;
import Sprites.Class2;
import Sprites.Class3;
...
通常,通配符导入会产生冲突和错误(例如java.awt.List
和java.util.List
),因此通常最好避免它们。
套餐也应该是低级的。
答案 1 :(得分:0)
错误是由语法引起的,通常当您看到类似...expected
的语法错误指示符时。
在启动程序包的类中,包含要引用的类的import
语句。
它应该类似于以下内容:
package the.name.of.your.package;
import Spirites.NameOfclass; //quialify the import parth as is
class YourLauncherClass{
//class definition
}
还要确保在导入和打包结束时不会丢失分号。 希望有所帮助。
答案 2 :(得分:0)
最佳做法是导入所需的特定类,而不是导入完整的包。
import Spirites.NameOfclassRequired;
class YourClass{
//class definition
}
如果您正在使用eclipse,则可以使用CTRL+SHIFT+O
执行此操作。当您执行此操作时,eclipse会导入您需要的特定类。对于实例,如果您使用ArrayList而不是导入java.util.*;
,则会导入java.util.ArrayList;
如果您需要包中的多个类,那么您肯定可以导入整个包