먼저 @Override의 일반 기능에 대해 이야기해 보겠습니다.
1. 상위 클래스의 기존 메서드를 올바르게 재정의했는지 직접 확인해 보세요.
2. 복사 방법입니다.
예:
예를 들어 이제 기본 클래스가 있습니다.
(비디오 튜토리얼 권장 사항: java 비디오 튜토리얼)
이제 Apple 하위 클래스를 작성하고 이 기본 클래스를 상속하며 기본 클래스를 재정의합니다. 클래스 show_name() 메소드
실행 결과 Apple:2라는 단어가 인쇄됩니다.
실제로 상위 클래스의 메서드를 수동으로 재정의할 때 메서드의 매개 변수를 잘못 기억하기 쉽습니다. 이때 @Override를 추가하지 않으면 편집기에서 다음과 같은 메시지를 표시하지 않습니다. 이 태그를 추가하지 않고 매개변수를 float 유형으로 변경하겠습니다.
이때 사실 우리의 의도대로 메서드를 성공적으로 재정의하지 못했기 때문에 숨겨진 버그가 탄생했습니다. 반대로 재정의를 추가한 효과는
IDE에서 제공한 것입니다. 재정의 방법이 실패했음을 설명하는 오류 메시지입니다.
메서드 재정의를 준비할 때 결과가 나오는 경우가 많지만 대신 메서드를 오버로드합니다.
또 다른 예: 이제 Fruit 클래스에 비공개 메서드를 추가하고 Apple
@Override private void grow(){ }
에서 이를 재정의하려고 합니다. 결과적으로 컴파일러는 오류 메시지를 표시합니다. 이는 매우 낮은 수준의 오류이지만 때로는 그럴 수도 있습니다. : 이는 개인 메소드를 재정의하려고 시도하는 것이지만 Override 태그를 제거하면 컴파일러는 오류를 보고하지 않고 실행될 수 있습니다.
사실 Apple에서 성장이라고 부르는 것은 Apple 자체의 비공개 방법일 뿐입니다. 완전히 새로운 접근 방식입니다.
복제란 무엇입니까?라는 질문이 생깁니다.
객체 지향에서는 인터페이스, 공유 메서드, 상속된 메서드만 재정의할 수 있습니다. 프라이빗 메서드는 재정의할 수 없습니다. 그런데 다시 생각해 보니 재정의할 수 없는 것이 아니라 개념이 없습니다. 개인 메소드를 전혀 무시합니다!
이것은 객체지향 디자인의 원래 의도입니다. 프라이빗 메서드 자체는 클래스 내부에 캡슐화되어 다른 사람이 변경하거나 외부에서 참조할 수 없습니다.
추천 튜토리얼: java 입문 프로그램
위 내용은 Java에서 @Override는 무엇을 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

드림위버 CS6
시각적 웹 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

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