Java的抽象类与接口

java中的抽象类和接口从概念上有很多相似之处,但是所起的作用还是大有不同。

定义

抽象类:包含至少一个abstract关键字定义的方法,编译器强制要求类定义为abstract class,且默认public的。
接口:看起来是比abstract类更高层次的抽象,所有方法都没有方法体,默认都为public,而且不能改变。

区别

抽象类是对子类共同特性的抽象,可以提供某些方法的默认实现。而接口是抽象方法的集合,如果某个子类实现了该接口,那么该子类就要保证实现该接口中所有的抽象方法,这就像一种契约合同。接口只是一种模式,其本身并不能做任何事情。另外,接口可以实现多重继承特性,而java不支持类的多重继承。

使用场景

- 如果需要实现多重继承,选择接口;如果要创建不带任何方法和成员变量的基类,那么使用接口。

- 如果需要基类有默认的方法实现,或者基本功能需要经常改变,那么使用抽象类。

参考:http://www.importnew.com/12399.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值