다형성이 존재하기 위한 세 가지 필수 조건:
(권장 학습: java 입문 튜토리얼)
상속
Rewriting
부모 클래스 참고 사항 하위 클래스 객체에
다형성을 사용하여 메서드를 호출할 때는 먼저 해당 메서드가 상위 클래스에 있는지 확인하고, 없으면 컴파일 오류가 발생하며, 하위 클래스에서 같은 이름의 메서드를 호출합니다.
다형성의 이점:
프로그램을 잘 확장할 수 있고 모든 클래스의 객체를 보편적으로 처리할 수 있습니다.
(비디오 튜토리얼: java 비디오 튜토리얼)
테스트 코드:
public class Test { public static void main(String[] args) { show(new Cat()); // 以 Cat 对象调用 show 方法 show(new Dog()); // 以 Dog 对象调用 show 方法 Animal a = new Cat(); // 向上转型 a.eat(); // 调用的是 Cat 的 eat Cat c = (Cat)a; // 向下转型 c.work(); // 调用的是 Cat 的 work } public static void show(Animal a) { a.eat(); // 类型判断 if (a instanceof Cat) { // 猫做的事情 Cat c = (Cat)a; c.work(); } else if (a instanceof Dog) { // 狗做的事情 Dog c = (Dog)a; c.work(); } } } abstract class Animal { abstract void eat(); } class Cat extends Animal { public void eat() { System.out.println("吃鱼"); } public void work() { System.out.println("抓老鼠"); } } class Dog extends Animal { public void eat() { System.out.println("吃骨头"); } public void work() { System.out.println("看家"); } }
출력 결과:
吃鱼 抓老鼠 吃骨头 看家 吃鱼 抓老鼠
위 내용은 Java에서 다형성이 존재하기 위한 필수 조건은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!