javaoop多态

一、多态:提高代码灵活性和扩展性

1.扩展功能时对之前的代码几乎不需要改动

二、实现多态的两种方式

1.使用父类作为方法的形参
2.使用父类作为方法的返回值
3.多态是建立在继承的基础之上

三、向上转型:将子类对象包装成父类的类型

1.语法:父类 对象名=new 子类();
代码块:
javaoop多态_第1张图片
2.属于自动类型转换

四、向下转型:将包装的子类对象打回原形

1.语法:子类 对象名=(子类)包装的对象名!
代码块:
javaoop多态_第2张图片
2.属于强制类型转换

五、关于父子类方法的调用问题

1.通过常规方式创建出来的对象,各掉各的
2.通过向上转型创建出来的对象
a.如果此方法在子类当中进行重写了,则以子类为准
b.如果这个方法在子类当中没有重写,则执行父类中的默认实现过程
c.向上转型创建的对象无权调用子类特有的方法!!!编译报错

六、调用父子类的普通方法和多态方法

1.普通方法
代码块:
javaoop多态_第3张图片
2.多态方法
代码块:
在这里插入图片描述

你可能感兴趣的:(笔记)