> Java > Java시작하기 > Java에서 @Override는 무엇을 합니까?

Java에서 @Override는 무엇을 합니까?

王林
풀어 주다: 2020-06-15 16:17:23
앞으로
5216명이 탐색했습니다.

Java에서 @Override는 무엇을 합니까?

먼저 @Override의 일반 기능에 대해 이야기해 보겠습니다.

1. 상위 클래스의 기존 메서드를 올바르게 재정의했는지 직접 확인해 보세요.

2. 복사 방법입니다.

예:

예를 들어 이제 기본 클래스가 있습니다.

Java에서 @Override는 무엇을 합니까?

(비디오 튜토리얼 권장 사항: java 비디오 튜토리얼)

이제 Apple 하위 클래스를 작성하고 이 기본 클래스를 상속하며 기본 클래스를 재정의합니다. 클래스 show_name() 메소드

Java에서 @Override는 무엇을 합니까?

실행 결과 Apple:2라는 단어가 인쇄됩니다.

실제로 상위 클래스의 메서드를 수동으로 재정의할 때 메서드의 매개 변수를 잘못 기억하기 쉽습니다. 이때 @Override를 추가하지 않으면 편집기에서 다음과 같은 메시지를 표시하지 않습니다. 이 태그를 추가하지 않고 매개변수를 float 유형으로 변경하겠습니다.

Java에서 @Override는 무엇을 합니까?

이때 사실 우리의 의도대로 메서드를 성공적으로 재정의하지 못했기 때문에 숨겨진 버그가 탄생했습니다. 반대로 재정의를 추가한 효과는

Java에서 @Override는 무엇을 합니까?

IDE에서 제공한 것입니다. 재정의 방법이 실패했음을 설명하는 오류 메시지입니다.

메서드 재정의를 준비할 때 결과가 나오는 경우가 많지만 대신 메서드를 오버로드합니다.

또 다른 예: 이제 Fruit 클래스에 비공개 메서드를 추가하고 Apple

 @Override
    private void grow(){
    }
로그인 후 복사

에서 이를 재정의하려고 합니다. 결과적으로 컴파일러는 오류 메시지를 표시합니다. 이는 매우 낮은 수준의 오류이지만 때로는 그럴 수도 있습니다. : 이는 개인 메소드를 재정의하려고 시도하는 것이지만 Override 태그를 제거하면 컴파일러는 오류를 보고하지 않고 실행될 수 있습니다.

사실 Apple에서 성장이라고 부르는 것은 Apple 자체의 비공개 방법일 뿐입니다. 완전히 새로운 접근 방식입니다.

복제란 무엇입니까?라는 질문이 생깁니다.

객체 지향에서는 인터페이스, 공유 메서드, 상속된 메서드만 재정의할 수 있습니다. 프라이빗 메서드는 재정의할 수 없습니다. 그런데 다시 생각해 보니 재정의할 수 없는 것이 아니라 개념이 없습니다. 개인 메소드를 전혀 무시합니다!

이것은 객체지향 디자인의 원래 의도입니다. 프라이빗 메서드 자체는 클래스 내부에 캡슐화되어 다른 사람이 변경하거나 외부에서 참조할 수 없습니다.

추천 튜토리얼: java 입문 프로그램

위 내용은 Java에서 @Override는 무엇을 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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