package test1;
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多态之父类调用子类的方法的详细内容,更多请关注其它相关文章!
人生就是要感受美丽的善良的,丑恶的病态的。