|
|
在interface中,可以定義常數。例如:
package cc.openhome; Java中很常見到於介面中定義這類常數,稱為列舉常數,這讓程式撰寫清晰一些。例如:
package cc.openhome; 想想看,如果將上面這個程式改為以下,哪個在維護程式時比較清楚呢? ...
public static void play(int action) { switch(action) { case 0: // 數字比較清楚?還是列舉常數比較清楚? System.out.println("播放停止動畫"); break; case 1: System.out.println("播放向右動畫"); break; case 2: System.out.println("播放向左動畫"); break; 略... default: System.out.println("不支援此動作"); } } public static void main(String[] args) { play(1); // 數字比較清楚?還是列舉常數比較清楚? play(3); } ... 事實上,在interface中,也只能定義public static final的列舉常數,為了方便,也可以如下撰寫: public interface Action {
int STOP = 0; int RIGHT = 1; int LEFT = 2; int UP = 3; int DOWN = 4; } 編譯器會幫你展開為public static final,所以在介面中列舉常數,一定要使用=指定值,否則就會編譯錯誤。 |