Day09
一、多态
1 、多态的定义
2、在多态中成员变量的访问特点
多态中静态方法的访问特点
3、父子类之间的类型转换
多态的向上转型的语法: 父类 对象名称 = new 子类() 类似于 向上自动类型转换
缺点: 不能调用自己独有的方法
向下转换(还原成原来的样子)
语法: 子类 子类名称= (子类向上转型的对象名
Dog dog =(Dog)pet
如果还原的不正确会产生一个错误: 强制类型转换异常 java.lang.ClassCastException
解决问题 instanceof 判断是否能够 还原成功
instanceof 在强制类转换之前, 判断是否能够 还原成功
4、多态的好处
二、抽象类
1、抽象类的定义
2、抽象类的特点
抽象类与普通类 区别:
- 抽象类必须用abstract 关键字来修饰
- 抽象类不能够被实例化
抽象方法与普通方法的区别:
- 抽象方法也用abstract 关键字来修饰
- 抽象方法是没有方法体.
三、接口
1、接口的定义与特点
2、类与类、类与接口、接口与接口之间的关系
接口练习:
四、练习
1.用接口做参数,写个计算器,能完成加减乘除运算。
(1)定义一个接口Compute含有一个方法int computer(int n, int m)。
(2)设计四个类分别实现此接口,完成加减乘除运算。
(3)设计一个类UseCompute,类中含有方法:public void useCom(Compute com, int one, int two),
此方法能够用传递过来的对象调用computer方法完成运算,并输出运算的结果。
(4)设计一个主类Test,调用UseCompute中的方法useCom来完成加减乘除运算