>  기사  >  类库下载  >  Java의 기본 학습 - 상속에 대한 간략한 요약

Java의 기본 학습 - 상속에 대한 간략한 요약

高洛峰
高洛峰원래의
2016-10-08 13:43:231450검색

Java 기본 학습--상속 개요


코드 참조: Java 기본 학습 노트-다형성

상속을 도입해야 하는 이유는 무엇입니까?

CD와 DVD를 보관할 수 있는 미디어 라이브러리를 만들어 보겠습니다. CD와 DVD가 관련되지 않은 두 개의 클래스로 만들어진 경우 이 미디어 라이브러리를 관리할 때 CD를 추가하는 별도의 기능과 DVD를 추가하는 별도의 기능을 만들어야 합니다. 다른 미디어 클래스의 경우, 다른 추가 기능을 만들어야 합니다. 우리는 그러한 코드가 확장 가능하지 않다고 말합니다. 또한, CD와 DVD는 제목, 재생 시간, 코멘트 등의 멤버 변수에 많은 유사점이 있습니다. 이러한 프로그램에는 코드 중복이 많고, 코드 중복은 잘못된 코드의 징후라고 합니다. 따라서 우리는 이들의 상위 클래스를 생성하고 동일한 멤버 변수를 상위 클래스에 추가할 수 있으며 미디어 라이브러리에 추가할 때 상위 클래스를 추가하는 함수만 생성하면 됩니다. 추가할 수도 있습니다.

하위 클래스는 상위 클래스로부터 무엇을 상속받나요?

멤버 변수 및 멤버 함수를 포함하여 상위 클래스의 모든 것을 상속합니다. 하지만 상위 클래스의 모든 항목에 액세스할 수는 없으므로 상위 클래스에서 상속된 멤버 변수 및 멤버 함수의 액세스 특성을 살펴보세요. 상위 클래스의 멤버 변수가 비공개인 경우 하위 클래스에서 직접 액세스할 수 없습니다. 그러나 private은 상위 클래스 자체에서만 액세스할 수 있으므로 상위 클래스의 public 함수를 호출하여 하위 클래스에 있는 이러한 멤버 변수에 간접적으로 액세스할 수 있습니다.

또한 하위 클래스는 상위 클래스에서 상속하는 것 외에도 자체 클래스에 작성된 고유한 멤버 변수 및 함수를 가질 수도 있습니다.

액세스 속성

액세스 속성 의미

public 모든 사람에게 공개

private 본인만 액세스할 수 있습니다

protected 본인과 자녀만 패키지의 클래스 및 다른 클래스는

에 액세스할 수 있습니다. 기본적으로 패키지의 자신과 다른 클래스만

super();

상위 클래스에서 하위 클래스의 생성자에서 생성된 멤버 변수는 하위 클래스 생성자의 매개변수 목록에 명시되어야 하며, 상위 클래스에서 생성된 이러한 멤버 변수를 상위 클래스에서 가져오기 위해 super()를 사용합니다. 예제 코드는 다형성 블로그 게시물을 참조하세요.

super(); 내부의 매개변수는 호출되는 상위 클래스의 생성자를 결정합니다. super() 내부의 매개변수는 호출된 생성자의 매개변수와 동일합니다.

기본 모드(하위 클래스 생성자에 super();가 없는 경우)에서는 부모 클래스에 매개 변수가 없는 생성자가 부모 클래스에 없으면 기본적으로 호출됩니다. Eclipse는 오류를 보고합니다.

오버라이드

하위 클래스와 상위 클래스에 같은 이름의 함수가 있는 경우 하위 클래스의 함수가 상위 클래스에서 상속받은 같은 이름의 함수를 재정의합니다. , 그러면 상위 클래스의 함수가 숨겨지고 작동하지 않습니다. 하지만 하위 클래스의 상위 클래스에서 동일한 이름으로 함수를 호출하려면 super.function name(); 으로 작성해야 합니다.

<br/>


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.