| ¦b ±`¼Æ³]¸m
¤¤¡A±zª¾¹D¥i¥H¦bÃþ§O¡]Class¡^©Î¤¶±¡]Interface¡^¤¤«Å§i±`¼Æ¥[¥HºÞ²z¡A³o¥u¬OÅý±z¦s¨ú»PºÞ²z±`¼Æ¤è«K¦Ó¤w¡A¨Ó¬Ý¬Ý³oÓ¨Ò¤l¡G public void someMethod() {
.... doOp(OpConstants.TURN_RIGHT); .... } public void doOp(int op) { switch(op) { case OpConstants.TURN_LEFT: System.out.println("¦V¥ªÂà"); break; case OpConstants.TURN_RIGHT: System.out.println("¦V¥kÂà"); break; case OpConstants.SHOOT: System.out.println("®gÀ»"); break; } } ¬Ý¨Ó¬O¤£¿ù¡A¦ýdoOp()¤èªk±µ¨üªº¬Oint¡A±z¨S¦³ªý¤î²Ê¤ßªºµ{¦¡³]p¤Hû¹ï¥¦¿é¤JOpConstants¤¤³W©w¥~ªº¨ä¥¦±`¼Æ¡A±z¤]¨S¦³Àˬd switch¤¤¦CÁ|ªºÈ¬O¤£¬O¥¿½TªºÈ¡A¦]¬°¥¦°©¤l¸Ì´N¥u¬Oint¦Ó¤w¡C ·íµM±z¥i¥H§@¤@¨ÇÀˬd¡A³o»Ýn¤@¨ÇÃB¥~ªº¤u§@¡A¦pªG±z¨Ï¥Î J2SE 5.0¡A«h³o¨ÇÃB¥~ªº¤u§@±z¤£¥Î¿Ë¦Û³B²z¡A¨Ï¥Î¦CÁ|«¬ºA¡]Enumerated Types¡^¥i¥H»´©öªº¸Ñ¨M³o¨Ç°ÝÃD¡C ¦bJ2SE 5.0¤¤¨Ï¥Î¦CÁ|«¬ºAn¨Ï¥Î"enum"ÃöÁä¦r¡A¥H¤U¥ý¨Ó¬Ý¬Ý¦CÁ|«¬ºAªºÀ³¥Î¡AÁ|Ó¹ê»Úªº¨Ò¤l¡G
public enum OpConstants {TURN_LEFT, TURN_RIGHT, SHOOT}
¤£¥ÎÃhºÃ¡A¦bOpConstants.java¤¤¼g¤U¥H¤Wªº¤º®e¡AµM«á¥Îjavac¥h½sĶ¥¦¡AÁöµM»yªk¤W¤£¹³¡A¦ý¦CÁ|«¬ºA°©¤lùØ´N¬O¤@ÓÃþ§O¡A©Ò¥H±z½sͧ¹¦¨«á¡A·|²£¥Í¤@ÓOpConstants.classÀɮסC ¨Ó¬Ý¤U±³oÓ¨Ò¤lÁA¸Ñ¦p¦ó¨Ï¥Î©w¸q¦nªº¦CÁ|«¬ºA¡G
public class Test {
°õ¦æµ²ªG¡G
°£¤FÅý±z¤Ö¥´¤@¨Ç¦r¤§¥~¡A¦n¹³¨S¦³¤°»ò¯S§Oªº¡A¦ý¦pªG±z¹ïdoOp()¤èªk¿é¤J¨ä¥¦ªºÈ¡A½s;¹·|¦^³ø¿ù»~¡A¦]¬°doOp()©Ò±µ¨üªº¬O OpConstants¦CÁ|«¬ºA¡C §ó¶i¤@¨Bªº¡A¦pªG±z¦bswitch¤¤¥[¤J¤F¤£ÄÝ©óOpConstants¤¤¦CÁ|ªº¼ÆÈ¡A½s;¹¤]·|¦^³ø¿ù»~¡A¨Ò¦p¡G ....
public static void doOp(OpConstants opConstant) { switch(opConstant) { case TURN_LEFT: System.out.println("¦V¥ªÂà"); break; case TURN_RIGHT: System.out.println("¦V¥kÂà"); break; case SHOOT: System.out.println("®gÀ»"); break; case STOP: System.out.println("°±¤î"); break; } } .... ½s;¹·|´À±z§@½sͮɴÁªºÀˬd¡AYÀˬd¥X¤£ÄÝ©óOpConstant¤¤ªº¦CÁ|È¡A·|Åã¥Ü¥H¤Uªº¿ù»~¡G unqualified enumeration constant name required
case STOP: ^ ±z¥i¥H¦b¤@Ó¿W¥ßªºÀɮפ¤«Å§i¦CÁ|È¡A©Î¬O¦b¬YÓÃþ§O¤¤«Å§i¦CÁ|¦¨û¡A¨Ò¦p¡G
public class Test {
¥Ñ©ó¦CÁ|«¬ºA¥»½è¤WÁÙ¬OÓÃþ§O¡A©Ò¥H³oºØ¤è¦¡¦³¨Ç¹³¦b«Å§i ¤º ³¡Ãþ§O¡]Iinner class¡^¡A ¦b±z½sͧ¹Test.javaÀɮ׫á¡A°£¤FTest.class¤§¥~¡A±z·|¦³¤@¨ÇÃB¥~ªº.classÀɮסA¦b³oÓ¨Ò¤l¤¤´N¬OTest$ OpConstants.class»PTest$1.class¡A¬Ý¨ì«á¨âÓÀɮסA±z´NÀ³¸ÓÁA¸Ñ¨ì³oÓµ{¦¡ªºI«á¹B§@ªº¦³¤º³¡¦¨ûÃþ§O¥H¤Î¤º³¡°Î¦WÃþ§O¡C |