>Java >java지도 시간 >Java의 다양한 이름 재사용 기술

Java의 다양한 이름 재사용 기술

PHPz
PHPz앞으로
2023-08-28 14:49:061406검색

Java의 다양한 이름 재사용 기술

Java에는 변수, 메소드, 데이터 유형 또는 패키지와 같은 다양한 유형의 엔터티에 대해 다양한 이름 재사용 기술이 있습니다. 이러한 기술은 필요와 용도에 따라 개체의 접근성과 동작에 영향을 미칩니다. 이 기사에서는 Java에서 이름을 재사용하는 네 가지 일반적인 방법인 재정의, 숨기기, 오버로딩 및 섀도잉에 대해 설명합니다.

Java의 이름 재사용 기술

그림자

이 기술을 사용하면 지역 변수가 다른 필드 또는 바깥쪽 클래스의 멤버와 동일한 이름을 가질 수 있습니다. 이 경우 새 변수 선언으로 인해 멤버의 이전 구현이 모호해집니다. 숨겨진 변수는 숨겨진 범위에서 간단한 이름으로 액세스할 수 없습니다.

그림자 예

다음 예는 변수 음영을 보여줍니다

으아아아

출력

으아아아

위 코드에서는 "printX()" 메서드에서 인스턴스 변수 "val1"을 숨겼습니다. "val1"에 액세스하려면 "this" 키워드를 사용합니다.

숨기기

이 기술을 사용하면 하위 클래스가 상위 클래스에 정의된 정적 메서드나 필드를 숨길 수 있습니다. 하위 클래스 엔터티는 상위 클래스 엔터티와 동일한 이름과 서명을 가져야 합니다. 최대 우리 중 일부는 숨는 것이 압도적이라고 잘못 믿고 있습니다. 메서드 재정의에서는 하위 클래스가 대체됩니다. 새로운 메소드로 원래의 메소드를 구현하지만, 숨어서 숨길 뿐입니다. 슈퍼 클래스 방법. 또한 정적 메서드를 재정의할 수 없습니다.

예제 숨기기

다음 예에서는 메서드 숨기기를 보여줍니다.

으아아아

출력

으아아아

위 코드에서는 "Super" 및 "Sub" 클래스와 "print()"를 정의합니다. 방법. 'Sub' 클래스의 'print()' 메소드는 'Super' 클래스의 메소드를 숨깁니다. 's2.print'인 경우 하위 클래스의 내용을 인쇄한 다음 이 예를 고려합니다. 숨겨지지 않고 메서드로 재정의되었습니다.

메서드 오버로딩

이름은 같지만 목록이 다른 두 개 이상의 메소드를 생성하는 경우 그런 다음 매개변수가 동일한 클래스 본문에 있으면 이를 메소드 오버로딩이라고 합니다. 번역가 매개변수 유형을 기반으로 컴파일 타임 메서드 호출을 결정합니다

메서드 오버로딩 예시

이 예에서는 메소드 오버로딩 구현을 보여줍니다.

으아아아

출력

으아아아

위 코드에서는 이름은 같지만 매개변수가 다른 두 가지 메서드를 정의합니다. 통화 중에 우리는 다른 주장을 사용했습니다.

메소드 재작성

슈퍼클래스와 서브클래스에서 동일한 이름과 동일한 매개변수 목록을 가진 두 개 이상의 메소드를 생성하는 것을 메소드 오버라이딩이라고 합니다. 메소드의 반환 유형도 동일합니다.

메소드 재작성 예시

다음 예제에서는 메서드 재정의를 보여줍니다.

으아아아

출력

으아아아

위 코드에서 하위 클래스 "Ovriid2"는 상위 클래스의 "methodA()"를 재정의합니다.

결론

이 글에서는 메소드 오버로딩, 숨기기, 숨기기, 메소드 오버라이딩 등 변수 및 메소드 이름을 재사용하는 다양한 기술을 배웠습니다. 또한 이를 실제로 Java 프로그램에서 구현하는 방법도 살펴보았습니다.

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

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