> Java > java지도 시간 > 본문

Java에서 싱글톤 열거형을 만드는 방법은 무엇입니까?

WBOY
풀어 주다: 2023-08-29 10:21:06
앞으로
1099명이 탐색했습니다.

Java에서 싱글톤 열거형을 만드는 방법은 무엇입니까?

Singleton 패턴은 클래스의 인스턴스화를 하나의 개체로 제한합니다. INSTANCE열거 인스턴스를 나타내는 public static 최종 필드입니다. EnumSingleton.INSTANCE를 사용하여 클래스의 인스턴스를 얻을 수 있지만 구현을 변경하려는 경우 getter에 캡슐화하는 것이 더 좋습니다.

Java에서 열거형을 싱글톤으로 사용할 수 있는 몇 가지 이유가 있습니다.

  • 하나의 인스턴스가 보장됩니다(리플렉션을 통해서도 여러 열거형을 인스턴스화할 수 없습니다).
  • 스레드 안전.
  • 직렬화.

구문

public enum Singleton {
   INSTANCE;
   private singleton() {
   }
}
로그인 후 복사

public enum EnumSingleton {
   <strong>INSTANCE</strong>;
   private String name;
   private int age;
   private void build(SingletonBuilder builder) {
      this.name = builder.name;
      this.age = builder.age;
   }
   public static EnumSingleton getSingleton() { <strong>// static getter</strong>
      return <strong>INSTANCE</strong>;
   }
   public void print() {
      System.out.println("Name: "+name + ", age: "+age);
   }
   public static class SingletonBuilder {
      private final String name;
      private int age;
      private SingletonBuilder() {
         name = null;
      }
      public SingletonBuilder(String name) {
         this.name = name;
      }
      public SingletonBuilder age(int age) {
         this.age = age;
         return this;
      }
      public void build() {
         EnumSingleton.INSTANCE.build(this);
      }
   }
   public static void main(String[] args) {
      new SingletonBuilder("Adithya").age(25).build();
      EnumSingleton.getSingleton().print();
   }
}
로그인 후 복사

출력

Name: Adithya, age: 25
로그인 후 복사

위 내용은 Java에서 싱글톤 열거형을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!