2010-06-09 76 views
2

我在Java上建立一个国际象棋游戏,我遇到了一些问题。下面的代码是什么样子(相关部分):Java找不到符号枚举

Enum类Couleur.java:

public enum Couleur {BLANC, NOIR}

Piece.java:

public abstract class Piece { 
(...) 
    public Piece(Couleur couleurParam){ 
    this.couleurPiece = couleurParam; 
    } 
(...) 
}

最后Tour.java:

 
public class Tour extends Piece { 
(...) 
    public Tour(Couleur couleurParam){ 
    super(couleurParam); 
    } 
(...) 
} 

所有的.java文件都在同一个文件夹中。然而,在编译我得到一个“无法找到符号 符号:变量NOIR 位置:一流高原”

(高原是实例化类旅游。)

谁能帮我找出什么是错在这里?

非常感谢,

JDelage

+0

您确定您在Plateau.class中使用Couleur.NOIR而不是简单NOIR吗? – HoLyVieR 2010-06-09 21:18:25

回答

6

它不会帮你还没有显示在高原失败编译行。如果你遇到编译错误,请发布一些不能编译的代码。我的猜测是,你这样做是:不限定它们像这样的

new Tour(NOIR) 

代替

new Tour(Couleur.NOIR) 

唯一的时候,你可以参考枚举值是:

  • 在枚举本身
  • 使用静态导入
  • 在switch语句中
+3

乔恩 - 谢谢,就是这样。我第一次使用枚举,菜鸟错误。 我觉得我知道一个名人,现在我的一个问题已经被Jon Skeet回答了。也许这也应该有一个徽章。 :-) – JDelage 2010-06-09 21:23:32