패키지 테스트1;
Java 다형성의 상위 클래스가 하위 클래스의 메서드를 호출하는 방법
//多态的体现 import javax.print.attribute.standard.RequestingUserName; import java.util.Scanner; public class testfather { public static void main(String[] args) { Animal a = new fish(); //父类对象被赋以子类类型 /*Animal a; fish b = new fish b; a= b ; //向上转型,不丢失精度 a.talk();*/ //可达到相同效果 a.talk(); //fish覆写animal talk方法 Animal c = new bird(); //C.talk2(); //不能实现,因为animal中没有此方法,必须向下转型 bird b = (bird)c; //如果不进行转换,父类无法看到子类新扩充的方法 b.talk2(); } } class Animal { public void talk() //如果父类方法不想被覆写,可改为public static void talk() { System.out.println("walk"); } } class fish extends Animal { public void talk() { System.out.println("swim"); } } class bird extends Animal { public void talk() { System.out.println("fly"); } public void talk2()//父类中没有此方法,调用必须进行强制转换,向下转型。 { System.out.println("i am a bird"); } }
위 내용은 Java 다형성 상위 클래스는 하위 클래스의 메소드를 호출합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!