열거 특별한 클래스
-
-
이 클래스는 일정한 내부 객체들의 집합을 생성하고 이들 상수 오브젝트 공용 static 개질제 외부 노출을 추가
[수정] ENUM ENUM 클래스 이름 {
CONST 오브젝트리스트,
리스트의 다른 멤버;
}
열거 클래스 요구 사항 및 특성 :
-
CONST 객체의 열거 클래스의 열거 클래스의 목록에 있어야합니다 첫 번째 줄 이 일정하기 때문에, 그것은 것을 제안 수도 .
-
다른 코드 뒤에 개체의 일정 목록이 경우 ";"을 생략 할 수 있고, 그렇지 않은 경우는 생략 할 수 없습니다. ";"
-
열거 클래스에 컴파일러는 기본적으로, 상수 매개 변수를 추가하지 않는 개체의 목록 작성, 열거 클래스의 필요가 인수없이 생성자 경우, 당신은 선언하지 않는, 인수없이 개인 생성자에 의해 제공됩니다
-
열거 클래스의 요구가 참조 구조를 가지고있는 경우, 수동으로 민간의 참여 구조를 정의 할 필요가있다, 메소드 인수 생성자 호출은 거기에이다 더하기 (인수리스트) 뒤에 일정 개체 이름 이 될 수 있습니다.
-
기본 열거 클래스 상속 그러므로 할 수있는 상속되지 않은 다른 유형의 java.lang.Enum 클래스이며,.
-
-
열거 형을 권장 다른 속성의 경우 ( 필요하지 않은 일정이 변경 될 수 없습니다 논리적 의미에서 객체 있기 때문에, 이러한 특성은 또한 final로 선언된다).
1.toString () : 수동이 메소드를 오버라이드 (override) 할 기본 상수 이름 (개체 이름) 계속 반환!
2.name () : 반환 일정 이름 (개체 이름) 거의 사용되지]
3. ORDINAL () : 반환 기본적으로 0부터 시작하는 정수 시퀀스 번호,
4. () 값 : 반환 열거 클래스의 모든 상수 객체가 리턴 타입이 현재 열거 배열 타입 정적 메소드이다
5. valueOf (문자열 이름) 열거 상수 열거 오브젝트 취득 객체 이름 :
아니오. | 기본 데이터 유형 | 포장 (java.lang 패키지) |
---|---|---|
1 | 바이트 | 바이트 |
이 | 짧은 | 짧은 |
삼 | INT | 정수 |
4 | 긴 | 긴 |
5 | 흙손 | 흙손 |
6 | 더블 | 더블 |
(7) | 숯 | 캐릭터 |
8 | 부울 | 부울 |
9 | 빈 | 빈 |
1, 권투와 언 박싱
포장 : 기본 데이터 유형을 -> 포장 클래스 객체
수동 포장 : 예를 들면 : 새로운 정수 (int 값) 또는 Integer.valueOf (int 값)
박싱 : 정수 난 INT 값 =;
포장 풀기 : 객체의 포장 -> 기본 데이터 유형
수동으로 풀고 예 : Integer 객체 .intValue ()
자동 언 박싱 : INT는 내가 Integer 객체를 =;
-128 ~ 127 | |
짧은 | -128 ~ 127 |
정수 | -128 ~ 127 |
긴 | -128 ~ 127 |
흙손 | 아니오 |
더블 | 아니오 |
캐릭터 | 0 ~ 127 |
부울 | 진실과 거짓 |
래퍼 클래스 객체는 불변입니다 : 수정은 새 개체되면. 이와 같이, 파라미터가 전달 방법, 원래의 객체의 값을 변경하지 않는다
[수정] 인터페이스 인터페이스 이름 {
정적의 const를 //
// 추상 메소드
// 기본 방법
// 정적 방법
// 개인 방법
}
1, 공공 정적 상수 : 공공 정적 최종
2. 공공 추상적 인 방법 : 공공 추상적
비 추상 구현 클래스가 오버라이드 (override) 할 필요가 있습니다
3, 공중 기본 방법 : 공공의 기본, JDK1.8 이후
"개체 구현 클래스."전화
구현 클래스는 무시하도록 선택할 수 있습니다
4 공용 static있어서 공용 정적 JDK1.8 후
. "인터페이스 이름"만 사용 호출
구현 클래스는 무시할 수 없습니다
5 독자적인 방법 : 비공개 (개인 생략하지 않음) 후 JDK1.9
수정 클래스 구현 클래스는 []은 [수퍼 연장] 유단의 인터페이스 1, 2 {인터페이스
// [한다] 추상 메소드 인터페이스 다시
단어를 쓰지 않는다, // 기본 인터페이스 방법 [선택] 디폴트를 오버라이드 (override)를
} // 상속 앞, 뒤에 구현
클래스를 구현하는 인터페이스를 구현하는 경우, 인터페이스는 달리 구현 클래스는 추상 클래스해야합니다, 모든 추상 메서드를 재정의해야합니다.
당신은 정적 메서드를 재정의 할 수 없습니다
-
-
단지 "인터페이스 이름을."사용할 수 전화는 클래스 객체 호출을 통해 달성 될 수 없다
-
-
인터페이스의 추상 메소드의 경우, 기본 방법은 오직 클래스 객체를 호출하여 얻을 수있다
-
인터페이스는 직접 개체를 만들 수 없습니다 개체 만 구현 클래스를 만들 수 있습니다
-
방법은있을 수 있습니다 충돌 :
(1) 구현 클래스는 다수의 인터페이스 및시 디폴트 메소드 서명과 동일하게 나타나는 복수의 인터페이스를 구현한다 :
구현 클래스는 선택을해야합니다
A : 한 예약 : 메소드 이름 .super 인터페이스 이름.
B : 또한 완전히 쓸 수있다
(2) 구현 클래스는 부모 클래스 및 구현 인터페이스를 상속 부모 클래스는 기본 인터페이스 메소드 서명에 같은 방식으로 나타날 때 :
B : 또한 완전히 쓸 수있다
다중 상속 인터페이스
인터페이스는 다른 또는 복수의 인터페이스를 상속 할 수 있습니다, 인터페이스 상속을 사용 extends
[수정] 인터페이스는, 인터페이스 인터페이스 1과 인터페이스 2 {연장
}
하위 인터페이스가 기본 메소드를 오버라이드 (override) 할 때, 기본 키워드는 유지 될 수있다.
서브 클래스는 기본 메소드를 오버라이드 (override)하는 경우, 기본 키워드는 예약 할 수 없습니다.
인터페이스와 구현 다형성 클래스 오브젝트 레퍼런스