接口和抽象类的选择

在接口和抽象类的选择上必须遵循这样一个原则:

行为模型应该总是通过接口来定义;

如何用抽象类来定义,可能会出现这样的问题:不仅定义了特性的行为,而且隐含的定义了实现的模式;

抽象类能够保证实现的层次关系。避免代码重复;

如果依赖抽象类来定义行为,往往导致过于复杂的继承关系,而接口可以有效的分离行为和实现,为代码的维护带来方便。


1. 如果要创建不带任何方法定义和成员变量的基类,那么选接口;

2. 接口使用的最根本之处:为了能够向上转型为多个基类型而带来的极大的灵活性



接口的特性:

1. 接口中的方法可以有参数列表和返回类型,但不能有任何方法体。

2. 接口中可以包含字段,但是会被隐式的声明为static 和 final。

3. 接口中的方法可以声明为public或者不声明,但会默认还是public。

4. 当实现一个接口时, 需要将被定义的方法声明为public。

5. 如果没有实现接口中的所有方法,那么创建的仍是一个接口。

6. 接口可以被新的接口继承 extends。


所以呢???

当我们确定某个事物应该成为一个基类的时候,接口是第一选。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值