2010-06-09 291 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