Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法解析导入?_Java_Import_Enums - Fatal编程技术网

Java 无法解析导入?

Java 无法解析导入?,java,import,enums,Java,Import,Enums,现在,我有一个Brick.java,它包含一个Levels枚举,我想在BreakoutCourt.java中使用它,它包含在同一个包中,这是默认包 当我写import Brick.level时;在BreakoutCourt,我收到一条消息,说导入块无法解决。即使我写了importstaticbrick.Level,我也会收到这个消息 Brick.java中包含的级别枚举如下所示: public class Brick { public static final int BWIDTH = 6

现在,我有一个Brick.java,它包含一个Levels枚举,我想在BreakoutCourt.java中使用它,它包含在同一个包中,这是默认包

当我写import Brick.level时;在BreakoutCourt,我收到一条消息,说导入块无法解决。即使我写了importstaticbrick.Level,我也会收到这个消息

Brick.java中包含的级别枚举如下所示:

public class Brick {
   public static final int BWIDTH = 60;
   public static final int BHEIGHT = 20;
   private int xPos, yPos; 
   private Level brickLevel;

    //This sets up the different levels of bricks.
   enum Level{
    LUNATIC (4, 40, Color.MAGENTA),
    HARD (3, 30, Color.PINK), 
    MEDIUM (2, 20, Color.BLUE),
    EASY (1, 10, Color.CYAN),
    DEAD (0, 0, Color.WHITE);
    private int hitpoints;
    private int points;
    private Color color;

    Level(int hitpoints, int points, Color color){
        this.hitpoints = hitpoints;
        this.points = points;
        this.color=color;
        }
    public int getPoints(){
        return points;
        }
    public Color getColor(){
        return color;
        }
}

//rest of brick class goes under the enum
我在突破球场上使用它,如下所示:

    //Generates the bricks.
    for(int i = 0; i < 8; ++i){
        ArrayList<Brick> temp = new ArrayList<Brick>();
        Level rowColor = null;
        switch(i){
        //There are two rows per type of brick.
            case 0:
            case 1:
                rowColor = Level.EASY;
                break;
            case 2:
            case 3:
                rowColor = Level.HARD;
                break;
            case 4:
            case 5:
                rowColor = Level.LUNATIC;
                break;
            case 6:
            case 7:
            default:
                rowColor = Level.MEDIUM;
                break;
        }
        for(int j = 0; j < numBrick; j++){
            Brick tempBrick = new Brick((j * Brick.BWIDTH), ((i+2) * Brick.BHEIGHT), rowColor);
            temp.add(tempBrick);
        }

我做错了什么?谢谢你的帮助

如果要导入类的成员,需要使用。所以你可以做:

import static Brick.Level;

不过要小心。静态导入应该谨慎使用,正如链接页面所指出的那样。另一种不用静态导入的方法是使用外部类名。例如:Brick.Level.LUNATIC原因是,在一个较大的项目中,您可能有多个具有级别枚举的类,您必须查看导入以查看使用的是哪一个类。

如果要导入类的成员,则需要使用。所以你可以做:

import static Brick.Level;

不过要小心。静态导入应该谨慎使用,正如链接页面所指出的那样。另一种不用静态导入的方法是使用外部类名。例如:Brick.Level.LUNATIC原因是,在一个较大的项目中,您可能有多个具有级别枚举的类,并且您必须查看导入以查看正在使用哪个类。

如何导入枚举

您应该有一个导入语句,如

import static Brick.Level

相关的

如何导入枚举

您应该有一个导入语句,如

import static Brick.Level

相关

Hm,我仍然收到无法解决的导入。枚举应该在公共类中,对吗?在Brick.java的顶部有一个package语句吗?嗯,我仍然得到一个无法解析的导入。枚举应该在公共类中,对吗?在Brick.java的顶部有一个package语句吗?