자바의 기본 지식 및 관련 면접 질문을 열거

:. 열거의 정의
., Java5 시작 제공된 새로운 열거 데이터 유형에서 컬렉션 오브젝트 일정한 고정 된 복수의 특별한 클래스
: 정의 형식
[수정] ENUM 열거 클래스 이름
{
상수 A, B 상수는 상수 C, S
}
우리 맞춤 열거 형 (하단) 컴파일러는 직접 클래스 java.lang.Enum 모든 부모 ENUM 열거에서 상속

두 동치 관계 열거 및 일반 클래스 :
그림 삽입 설명 여기
세 가지 열거 된 디 컴파일 후 클래스 :
그림 삽입 설명 여기
네 열거 클래스 특징 :
① 열거 직접 부모 java.lang.Enum하지만 열거 상속 표시 할 수 없습니다.
② 열거 클래스에 해당, 당신은 생성자, 멤버 변수, 메소드 및 일반 추상 메소드를 정의 할 수 있습니다.
개인의 제조 방법을 기본 ③, 즉, 쓰기 액세스 ((보철물 생성자 아니라 기본 비 인수 생성자). 개인 아니다
④ 전역 상수에 의해 표현되는 각각의 인스턴스, 객체 클래스가 고정되어 하나의 예를 열거 제한된 수의 새 키워드를 사용할 수 없습니다.
⑤ 열거 인스턴스는 매우 열거 몸의 시작에 있어야합니다, 분리 된 다른 회원들과 인스턴스의 열거 목록 후 세미콜론이 있어야합니다.
⑥ 열거 인스턴스 후이 교정기 때 예를 들면 익명의 내부 클래스 객체의 열거 클래스입니다.

다섯 사용 열거 :
1) : 열거 글로벌 공공 정적 상수가 직접 클래스 욕설을 열거하는 데 사용할 수 있습니다.
평일 날 = Weekday.SATURDAY;
2) : java.lang.Enum 클래스는 모든 금이기 때문에 상위 클래스의 경우, 모든 있도록 열거 객체 열거 클래스 메서드 호출 할 수 있습니다.
문자열 이름을 열거 객체 .name을 () =; 열거 형 정수 객체 이름 // 반환
INT 순서 = 열거 객체 .ordinal를 () //은 0부터 열거 개체 번호를 반환
문자열 = 열거 객체로 .toString STR은 () : 리턴 오브젝트 상수 이름로부터 ENUM
3) 트랜스 정적 메소드 열거 클래스 컴파일러 생성 (컴파일 된 코드 )이다
열거 형 []의 값 ();
평일은 [] = WS Weekday.values () 모든 반환 : 열거 형 일정한 전류를 사용하여 캡슐화 된 어레이.
열거 형 valueOf (문자열 이름),
주중의 날 = Weekday.valueOf ( "월요일"); // 변환 현재의 열거 상수와 같은 이름을 가진 지정된 이름 문자열 클래스입니다.
4) : 열거가 java5을 시작, 스위치는 작동 열거 형 지원합니다.
스위치 지원 만 INT 유형, 서수 열거 지원 열거 객체의 사용을 기초하고 있기 때문에 여전히 유형 순서를 i (아래 그림 참조) NT 유형입니다.
그림 삽입 설명 여기
5) : 싱글을 열거 클래스를 않는 사용은 :
(최고의 모델을 달성 싱글 모드 기능은 JVM 보안 스레드 및 단일 인스턴스을 위해 우리를 도와 할 수 있도록 열거 열거의 사용이다. 문제. 또한, 상기 표현은 특히 간단하다.)

public enum Singleton {
    INSTANCE;
    public void doSomething() {
        System.out.println("doSomething");
    }
}

메소드를 호출합니다 :

public class Main {
    public static void main(String[] args) {
        Singleton.INSTANCE.doSomething();
    }
}

그것은 바로 Singleton.INSTANCE.doSomething () 방식을 통해 호출 할 수 있습니다. 편리하고 간단하고 안전합니다.

게시 99 개 원래 기사 · 원 찬양 2 · 조회수 2,627

추천

출처blog.csdn.net/weixin_41588751/article/details/105107101