추상적 인 개념
동일한 방법으로 기능을 선언하지만, 신체 기능의 서로 다른 방법. 그런 다음 시간이 추출 만 추출 방법 문이 아닌 대상 추출 방법 할 수있다. 이 메소드는 추상적 인 방법이다.
추상 클래스 정의 형식
A : 추상 메소드 정의 된 형식을 :
A : 공공 추상 메소드의 리턴 타입 이름 (매개 변수);
추상 클래스는 형식을 정의합니다 :
추상 클래스 类의 名 {
}
예 :
1 // 추상 클래스 방법은 추상적 선언해야 2 개 공용 추상 클래스 에서 Test1 { . 3 . 4 개 // 추상 방법 "{}"가없는 5. 공용 추상 공극 F () . 6
추상 클래스 이외에 추상 메소드를 포함 할 수 있지만 또한 특정 변수 및 구체적인 방법을 포함한다. 추상 메소드하지 않고 클래스를 포함하는 추상 클래스로 선언 할 수있다, 그것을 방지 인스턴스화됩니다.
추상 클래스는 추상 메소드는 서브 클래스에서 구현해야하는 추상 클래스를 얻기 위해 새 키워드의 인스턴스를 사용하지 즉, 인스턴스화 할 수 없습니다.
추상 응용 프로그램 :
1 // 추상 클래스 방법은 추상적 선언해야 2 개 공용 클래스 Demo01 { 3. 4. 공용 정적 무효 메인 (문자열 []에 args) { 5. 교사 교사 = 새로운 새 교사 ( "선생님" ) . 6 teacher.work ()를 ] . 7 . 8 드라이버 = 드라이버 새로운 새로운 드라이버 ( "드라이버" ) . 9 driver.work (); 10 } . 11 (12)이다 } 13 인 // 추상 클래스를 14 추상 클래스 사람 { 15 // 추상 방법 (16) 공공 추상적 무효 일 (); 17 } 18 급 교사는 확장 사람들 { 19 개인 문자열 작업을; 20 공용 교사 (문자열 일) { 21 이 보고 있다고! 날보고 말해 = 일; 22 } 23 @Override 24 공용 무효 일 () { 25 에서 System.out.println ( "我的职业是"+ 이 보고 있다고! 날보고 말해); 26 } 27 28 } 29 클래스 드라이버 확장 사람들을 { 30 개인 문자열 작업; (31) 공공 드라이버 (문자열 작업) { (32) 이 보고 있다고! 날보고 말해 = 일; 33 } 34 @Override 35 공용 무효 일 () { 36 에서 System.out.println ( "我的职业是"+ 이 보고 있다고! 날보고 말해); 37 } 38 }
다형성
정의
다형성은 여러 가지 다른 형태 또는 같은 행동의 표현을 할 수있는 능력이다. 다형성은 상이한 동작 사용할 수행하는 다른 인터페이스의 동일한 인스턴스들의 능력이다
최종 상태는 부모 클래스를 가리 할 수있는 여러 참조 변수 개체를 하위 클래스 반영한다. 다형성은 자식 부모 관계 또는 관계 클래스가 있어야 전제가 인터페이스를 구현하거나 다형성을 완료 할 수 없습니다입니다.
다형성 메서드 호출 상위 클래스 참조 변수는 하위 클래스 재정의 후 메소드를 호출합니다.
형식 : 부모 클래스 참조 변수 서브 클래스 객체 점은
부모 클래스 타입 변수 이름 = 새 서브 타입 ();
변수 이름 메소드 이름 ();
다형성 기능 회원
1. 다형성 멤버 변수는 : 컴파일 및 실행을 왼쪽으로 봐
F = 푸 새로운 닫아 ();
에서 System.out.println (f.num) // F 값은 푸 상위의 값으로 만 접근 할 수 있는지
2. 다중 상태 멤버 메소드 : 봐 왼쪽을 컴파일이 실행 오른쪽으로 보면
푸 F1 = 새로운 닫아 ();
에서 System.out.println는 (f1.show는 ()); // F1 외관 푸 유형이지만, 실제의 형태가 닫아이므로 메소드 호출은 재기록된다.
instanceof를 키워드
작업 : 객체 데이터 타입에 속하는 경우를 결정한다.
참고 : 반환 형식이 부울입니다
예 :
. (1) 푸 F1 = 새로운 새 닫아 (), 2- 푸 F2 = 새로운 새로운 인자 () . (3) IF (F1 instanceof를 닫아) { . 4 에서 System.out.println는 ( "닫아은 타입 F1은" ) . 5 } 6. 다른 { 7. 시스템. out.println ( "F1은 아들 타입이" ), 8 }
다형성 전환
두 가지의 상승 천이 및 하강 천이에 다형성 전이
상향 전이 : 프로세스 자체 다형 변형은 상방으로 인
형식을 사용 : 부모 클래스 타입 변수 이름 = 새로운 서브 클래스 유형을 ();
응용 프로그램 시나리오 : 언제 어떤 얼굴 서브 클래스 유형, 확장 성을 증가 또는 해당 작업을 완료하기 위해 부모 클래스의 기능을 사용하여.
다운 캐스트 : 전이는 상향 서브 오브젝트 포맷을 사용할 수있다 캐스트 갖는 여러 유형의 서브 기준으로 상위 클래스 참조의 형식
형식을 사용하여 : 변수 이름 = 서브 타입 (서브 타입) 변수의 상위 클래스 타입;
해당 장면 : 서브 클래스 고유의 기능을 사용하고자 할 경우.