자바 매거류 종합 응용에 대한 설명

1960 단어 java매거류
다음 코드는 램프를 예로 들 수 있다.

public class Test {

     public static void main(String[] args) {
         Trafficlight light = Trafficlight.RED;

         System.out.println(light.time);
         System.out.println(light.nextLigth());
         // ordinal()
         System.out.println(light.ordinal());
         // values()
         for(Trafficlight light1:light.values()){
             System.out.println(light1.name());
         }

         // valueOf()
         System.out.println(light.RED ==light.valueOf("RED"));
     }

     public enum Trafficlight {
         GREEN(30) {

             @Override
             public Trafficlight nextLigth() {
                 return RED;
             }
         },
         RED(30) {

             @Override
             public Trafficlight nextLigth() {
                 return YELLOW;
             }
         },
         YELLOW(10) {

             @Override
             public Trafficlight nextLigth() {
                 return GREEN;
             }
         };
         public abstract Trafficlight nextLigth();

         private int time;

         //
         private Trafficlight(int time) {
             this.time = time;
         }

         public int getTime(){
             return time;
         }

     }

 }
코드에서 GREEN, RED, YELLOW는 각각 Trafficlight의 하위 클래스이고 그 구성원 변수로 볼 수 있다.Trafficlight에는 추상적인 방법인 nextLight () 가 있는데 하위 클래스에서는 반드시 실현해야 하기 때문에 @Override, 그리고 상위 클래스의 방법을 계승했기 때문에 상위 클래스의 방법인 getTiime () 를 호출할 수 있습니다. 상위 Trafficlight에서 매개 변수가 있는 구조 방법은 무참한 구조 방법을 덮어쓰기 때문에 하위 클래스를 구축할 때도 매개 변수를 추가해야 합니다.
코드에서 라이트는 부모 클래스에 해당하는 실례일 뿐, 구성원 변수의 하위 클래스를 얻을 수 있으며, 여러 가지 방법을 호출할 수 있으며, valueOf (String) 방법은 문자열을 하나의 매거진으로 변환할 수 있다.

좋은 웹페이지 즐겨찾기