我有这个导入来源:
import static MinecraftDungeonTileTypes.*;
在与类MinecraftDungeonTileTypes
课程来源:
package mod.dungeonworld;
public class MinecraftDungeonTileTypes {
public static int TILE_WALL = 0;
public static int TILE_ROAD = 1;
public static int TILE_DOOR = 2;
public static int TILE_CHEST = 3;
public static int TILE_ROOM = 4;
public static int TILE_COD = 5;
public static int TILE_SPAWNER = 6;
}
我得到的是编译错误:
描述资源路径位置类型导入 无法解析MinecraftDungeonTileTypes。
当我在没有静态导入的情况下定期使用类MinecraftDungeonTileTypes
的静态成员时,我没有遇到编译错误。是什么造成的?
答案 0 :(得分:2)
问题来自于我没有写出要导入的类的完整路径。以下是我的解决方案:
import static mod.dungeonworld.MinecraftDungeonTileTypes.*;
答案 1 :(得分:2)
您不能statically import非static
课程,但您可以静态导入其static
字段/属性:
为了访问静态成员,有必要使用它们来自的类来限定引用。例如,必须说:
导入单个属性(使用*
而不是名称来大量导入)
import static mod.dungeonworld.MinecraftDungeonTileTypes.TILE_WALL;
您将在代码中引用TILE_WALL
。
或导入课程
import mod.dungeonworld.MinecraftDungeonTileTypes;
您将在代码中引用与MinecraftDungeonTileTypes.TILE_WALL
相同的属性。