>Java >java지도 시간 >Java 기본 - 다형성

Java 기본 - 다형성

巴扎黑
巴扎黑원래의
2017-06-26 11:30:001530검색

다형성은 서로 다른 유형의 객체가 동일한 메시지에 응답하도록 허용하는 것을 의미합니다. 유연성, 추상화, 동작 공유 및 코드 공유의 장점이 있습니다. 공유는 최대 활용도와 단순성, 로딩 속도를 의미합니다.

1. 다형성의 역할

유형 간의 결합 관계를 제거합니다. 즉, 서로 다른 개체에서 동일한 이벤트가 발생하면 서로 다른 결과가 생성됩니다.

2. 다형성의 구현 형태

1. 오버로딩(동일 클래스에서 발생)

2. 재정의(하위 클래스에서 발생)

1 .대체 가능성

2 . 확장성

3. 인터페이스(다형성은 메소드 서명을 통해 하위 클래스에 공통 인터페이스를 제공합니다)

4. 유연성

참고: 이러한 이점은 실제로 적용할 때만 실현될 수 있습니다. 그들을.

4. 다형성이 존재하기 위한 세 가지 전제조건

1. 상속 관계가 있어야 합니다

2. 상위 클래스 참조는 하위 클래스 객체를 가리킵니다.

코드 예: 부모 클래스 Animal과 하위 클래스 Dog 정의 그릴 수 있음:

1) 멤버 변수: 상위 클래스를 인쇄하지만 하위 클래스가 나오지 않음

2) 멤버 메서드: 상위 클래스가 정적이면 상위 클래스를 인쇄하고, 정적이 아닌 경우, 하위 클래스를 직접 인쇄합니다.

3) 왼쪽 5. 6에서는 정적 멤버를 호출할 때 잘못된 메서드를 사용하고 있기 때문에 오류가 있습니다. (정확한 스크린샷은 아래에 표시됩니다.)

4) 상위 클래스에 없는 메소드(a.catchMouse();)를 호출하면 오류가 보고됩니다. )

이때 다형성은 자신의 고유한 속성과 방법을 사용할 수 없습니다. 이것이 다형성의 단점인데 어떻게 해결해야 할까요?

답변: 이 상위 클래스 참조가 하위 클래스 객체 a를 가리키도록 한 다음 다시 Dog 유형으로 되돌립니다. 이런 방식으로 a는 Dog 유형의 참조이며 Dog 객체를 가리킵니다.

위 내용은 Java 기본 - 다형성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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