多态
2019-03-15 / JAVA / 880 次围观 / 0 次吐槽 /什么是多态(polymorphic)
多态就是事物存在的多种形态
Java中存在多态的前提条件
要有继承关系
要有方法重写
要有父类引用指向子类对象
多态访问成员变量-编译看左边(父类),运行看左边(父类)
多态访问成员方法-编译看左边(父类) ,运行看右边(子类)
多态访问静态方法-编译看左边(父类) ,运行看左边(父类) //- 这种写法是不成立,实际使用中可以使用类名访问
多态中向上转型和向下转型
向上转型:Person p = new SupperMan();
向下转型:SupperMan sm = (SupperMan)p;
注意:向下转型时,父类的真实对象必须是子类对象,否则会有类型转换异常ClassCastException。
多态的好处和弊端
好处:方便维护,扩展性好
弊端: 在方法中使用父类当作参数时,方法内部不能使用父类访问子类的属性和方法
Powered By Cheug's Blog
Copyright Cheug Rights Reserved.