多态:
类与类之间相互转型分为:向上转型和向下转型,其转型类型必须是继承关系;
1)向上转型(自动转换):子类对象转为父类,父类可以是接口。公式:
Father f = new Son();Father是父类或接口,son是子类。
父类的引用指向了子类的对象时:只能调用父类的属性和方法以及只能调用子类重写父类的方法
利弊:丢失子类独有的方法,提高代码的简洁性即避免重复性的代码
2)向下转型(强制转换):父类对象转为子类。公式:Son s = (Son)f;
注释:1)只有先经过向上转型的对象才能继续向下转型
2)直接向下转型,编译不会出错,运行时会出现异常 : java.lang.ClassCastException
3)向下转型的利弊:拾回子类独有的方法,程序易出异常