> Java > Java시작하기 > 이 기사는 Java의 클래스 상속과 다형성에 대한 자세한 이해를 제공합니다.

이 기사는 Java의 클래스 상속과 다형성에 대한 자세한 이해를 제공합니다.

王林
풀어 주다: 2019-11-26 10:56:50
앞으로
2265명이 탐색했습니다.

이 기사는 Java의 클래스 상속과 다형성에 대한 자세한 이해를 제공합니다.

클래스 상속

하위 클래스와 그 정의

하위 클래스의 정의는 확장 키워드를 사용합니다.

형식:

class SubClass extends SuperClass{
........
}
로그인 후 복사

하위 클래스는 부모 클래스; 하위 클래스는 비공개 수정자를 사용하여 속성과 메서드를 상속할 수 없습니다.

추가 관련 비디오 튜토리얼 권장 사항: java 온라인 학습

단일 상속:

Java는 단일 상속만 지원합니다. 클래스에서 확장되며 확장 키워드 뒤에는 클래스 이름이 하나만 있을 수 있습니다.

이점: 여러 상위 클래스 간의 충돌 가능성을 피할 수 있습니다.

인터페이스 인터페이스 메커니즘을 사용하면 클래스가 여러 인터페이스를 구현할 수 있습니다

super 키워드

super 키워드는 키워드가 있는 클래스의 상위 클래스를 가리키고 상위 클래스 참조 변수는 하위 클래스를 가리킬 수 있습니다. object

형식:

super.someNethod([paramlist])//调用父类中的someMethod()方法
로그인 후 복사

하위 클래스 객체 생성

단계:

객체에 필요한 모든 메모리 공간을 할당하고 0

값으로 초기화합니다. 상속 관계에 따라 위에서부터 명시적인 초기화 Bottom

상속 관계에 따르면 하향식 호출 생성자

하위 클래스 객체 초기화를 위한 또 다른 표현:

기본 초기화, 생성자 메소드를 실행하려면 먼저 상위 클래스 생성자 메소드를 실행한 후 상위 클래스를 실행해야 합니다. 생성자 메서드에서 부모 클래스의 명시적 초기화 문을 실행합니다.

메서드 재정의

(1) 하위 클래스에 있는 재정의된 메서드의 반환 값 유형은 상위 클래스에 있는 재정의된 메서드의 반환 값 유형과 동일해야 합니다.

(2) 재정의된 메서드에 액세스 하위 클래스에서 권한을 줄일 수 없습니다

(3) 하위 클래스 재작성은 새로운 예외를 발생시킬 수 없습니다. 메소드 재작성은 객체 런타임 다형성을 실현하는 기초입니다

다형성: 컴파일 시간 다형성 및 런타임 다형성

컴파일 시간 다형성: 이러한 오버로딩

런타임 다형성: 재정의와 같은

upcasting

한 유형의 객체에 대한 참조를 다른 유형의 객체에 대한 참조로 변환

다운캐스팅(강제 유형 변환)

instanceof 연산자instanceof运算符

aOblectVariable instanceof SomeClass

aOblectVariable SomeClass

aOblectVariable 인스턴스of SomeClass

aOblectVariable SomeClass 유형이고, 표현식의 값은 true입니다. 그렇지 않으면 false입니다

Format

(SomeClass)aObjectVariable
로그인 후 복사
(1) 객체 변수 변환의 대상 유형은 현재 객체 유형의 하위 클래스여야 합니다

(2) 객체 유형 검사도 런타임에 수행되어야 합니다

Object Class

Java의 모든 클래스는 Object 클래스의 직접 또는 간접 하위 클래스입니다.

equals 클래스: 두 개체의 값을 비교합니다.

equals() 메서드 재정의 목적: 개체의 값을 정의합니다.

Java 규정: 같음을 갖는 두 개체의 hashCode() 반환 값 값은 동일해야 하므로 equals() 메서드를 재정의하고 hashCode() 메서드도 재정의합니다. "=="는 두 객체의 주소를 비교합니다.​ ​ ​

toString() 메서드

는 객체의 문자열 표현을 반환합니다.

getClass() 메소드

객체의 클래스 정보를 반환합니다. 이 메소드는 Class 유형의 객체를 반환합니다.

추천 관련 기사 및 튜토리얼: 🎜Java 입문 프로그램🎜🎜

위 내용은 이 기사는 Java의 클래스 상속과 다형성에 대한 자세한 이해를 제공합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿