一.多态性:
1。java实现多态的前提:继承、覆写;
2.覆写调用的前提:看new是哪个类的对象,而后看方法是否被子类覆写,若覆写则调用覆写的方法,若没覆写则调用父类的方法;
二.多态性组成:
1方法的多态性:
方法重载:方法调用时根据不同的参数个数和类型可以实现不同的功能
方法覆写:不同的子类对于相同的方法可以有不同的实现;
2对象的多态性:父类与子类之间的转换操作
对象向上转型:父类 父类对象 = 子类实例,自动完成;
对象向下转型:子类 子类对象 = (子类)父类实例,强制转换;
四.总结:
1向上转型(90%):为了实现参数类型的统一,但向上转型一定要和覆写配合使用;
2向下转型(1%):为了调用子类的特使支持,可以用instanceof进行判断,但是有风险,不推荐使用;
3不转型(9%):方便操作使用系统类或者一些功能类,如String或简单JAVA类;
注意事项:
1向上转型后父类对象不能调用子类中新建的方法,只能够调用子类中覆写的方法,向上转型之后牺牲了子类的个性化特征,若要调用新方法则要向下转型;
2要向下转型之前一定要先进行向上转型,这样才可以建立父子关系;