Java 메서드의 덮어쓰기와 숨겨진 차이점 분석

숨김과 덮어쓰기의 차이에 대해 RTTI(run-time type identification)(운행기 유형 검사), 즉 운행기의 다태성을 언급해야 합니다. 부류가 하위 클래스의 대상을 인용할 때 아래에 제가 작성한 코드를 보십시오.출력 결과:00고양이가 동물이라고 합니다.
부류 Animal의 인용 a가 부류 Dog를 가리킬 때 RTTI는 운행 기간에 자동으로 이 인용의 진짜 유형을 확정하고, 부류가 부류를 덮어쓰는 방법이 있을 때 부류 방법을 직접 호출하여'고양이 울음'을 출력합니다.그러나 비정적 방법은 하위 클래스에서 다시 쓰면 덮어씌워지고 정적 방법은 이불 클래스에서 다시 쓰면 숨겨진다. 또한 정적 변수와 구성원 변수도 숨겨진다. RTTI는 덮어씌우기만 하고 그림자를 겨냥하지 않기 때문에 정적 변수 A와 비정적 변수 b와 정적 방법 method()는 모두 RTTI를 통과하지 않고 어떤 종류의 인용이든 누구의 정적 방법, 구성원 변수를 호출한다.여기는 부류 애니멀의 인용이기 때문에 부류 애니멀의 방법과 구성원 변수를 직접 호출합니다.그래서 정적 방법 method (), 정적 변수 A와 구성원 변수 b 인쇄 결과는 모두 부류의 것입니다.덮어쓰는 비정적 방법voice () 만 인쇄합니다.

좋은 웹페이지 즐겨찾기