Java基础 面向对象中的多态、抽象类abstract、接口interface

一、多态

1 、多态的定义

在这里插入图片描述

2、在多态中成员变量的访问特点

在这里插入图片描述
多态中静态方法的访问特点
在这里插入图片描述

3、父子类之间的类型转换

在这里插入图片描述
多态的向上转型的语法: 父类 对象名称 = new 子类() 类似于 向上自动类型转换

缺点: 不能调用自己独有的方法
在这里插入图片描述

向下转换(还原成原来的样子)

语法: 子类 子类名称= (子类向上转型的对象名
Dog dog =(Dog)pet

如果还原的不正确会产生一个错误: 强制类型转换异常 java.lang.ClassCastException
解决问题 instanceof 判断是否能够 还原成功
instanceof 在强制类转换之前, 判断是否能够 还原成功
在这里插入图片描述

4、多态的好处

在这里插入图片描述

在这里插入图片描述

二、抽象类

1、抽象类的定义

在这里插入图片描述

2、抽象类的特点

在这里插入图片描述
在这里插入图片描述

抽象类与普通类 区别:

  1. 抽象类必须用abstract 关键字来修饰
  2. 抽象类不能够被实例化

抽象方法与普通方法的区别

  1. 抽象方法也用abstract 关键字来修饰
  2. 抽象方法是没有方法体.

三、接口

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来完成加减乘除运算

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值