================================================
特点:
================================================
A: 成员变量
================================================
C: 成员方法
================================================
D: 静态方法
f.function() 还是父类的,静态方法并不算重写,因此访问的还是左边
=======================================================
多态的好处:
提高了代码的扩展性?????
-===================
=============================
增加猪的类
AnimalTool增加调用猪的功能
测试:
===================================================
修改工具类:增加扩展性
测试:
==============================================
多态的弊端:
不能使用子类的特有功能
======================================================
怎么使用子类的特有功能?
A. 创建子类对象,调用方法
B. 把父的引用强制转换为子类的引用,专业名词叫向下转型
======================================================
向上转型和向下转型
向上转型:子转父
向下转型:父强转子
======================================================
多态的内存图
super(); 初始化父类 初始化子类的内存图
ClassCastException:类型转换异常,一般在多态的向下转型中容易出现。
编译错误:
运行错误:
多态的成员访问特点:
方法:编译看左边,运行看右边
_______________________________________________________________
继承的时候:
子类中有和父类中一样的方法,叫重写
子类中没有父亲中出现过的方法,方法就直接继承过来了。
-------------------------------------------------------------------
举例