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

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

Jun 15, 2020 pm 04:17 PM
@overridejava

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 博客园에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.