java进阶之抽象类、接口和多态

抽象类和接口

这里写图片描述

抽象层次不同

  • 抽象类是对类抽象,而接口是对行为的抽象

  • 抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部行为进行抽象

跨域不同

  • 抽象类所跨域的是具有相似特点的类,而接口却可以跨域不同的类

  • 抽象类所体现的是一种继承关系,考虑的是子类与父类本质“是不是”同一类的关系

  • 而接口并不要求实现的类与接口是同一本质,它们之间只存在“有没有这个能力”的关系

设计层次不同

  • 抽象类是自下而上的设计,在子类中重复出现的工作,抽象到抽象类中

  • 接口是自上而下,定义行为和规范

多态

多态指的是编译期只知道是个人,具体是什么样的人需要在运行时能确定,同样的参数有可能会有不同的实现。

通过抽象建立规范,在运行时替换成具体的对象,保证系统的扩展性、灵活性。

实现多态主要有以下三种方式:

  • 接口实现

  • 继承父类重写方法

  • 同一类中进行方法重载

不论哪种实现方式,调用者持有的都是基类,不同的实现在他看来都是基类,使用时也当基类用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值