一、多态:提高代码灵活性和扩展性
1.扩展功能时对之前的代码几乎不需要改动
二、实现多态的两种方式
1.使用父类作为方法的形参
2.使用父类作为方法的返回值
3.多态是建立在继承的基础之上
三、向上转型:将子类对象包装成父类的类型
1.语法:父类 对象名=new 子类();
代码块:
2.属于自动类型转换
四、向下转型:将包装的子类对象打回原形
1.语法:子类 对象名=(子类)包装的对象名!
代码块:
2.属于强制类型转换
五、关于父子类方法的调用问题
1.通过常规方式创建出来的对象,各掉各的
2.通过向上转型创建出来的对象
a.如果此方法在子类当中进行重写了,则以子类为准
b.如果这个方法在子类当中没有重写,则执行父类中的默认实现过程
c.向上转型创建的对象无权调用子类特有的方法!!!编译报错
六、调用父子类的普通方法和多态方法
1.普通方法
代码块:
2.多态方法
代码块: