首页 > 其他 > 详细

接口和抽象类的区别及使用场景

时间:2021-04-15 01:18:03      阅读:47      评论:0      收藏:0      [点我收藏+]

接口和抽象类的区别

1.首先,从基础语法上来说接口使用interface 而抽象类使用abstract

2.实现接口的关键字为implements,继承抽象类的关键字为extends。一个类可以实现多个接口,但一个类只能继承一个抽象类。所以,使用接口可以间接地实现多重继承。

3.所有的成员方法都是被public abstract修饰的抽象方法,不能有方法的实现(JDK1.8之前),java 1.8中可以定义default方法体,而抽象类可以有抽象方法与实现。

4.接口的成员变量默认是静态常量,必须赋初值,不能够修改。抽象类的成员变量可以是普通变量。

5.抽象类中可以定义构造方法,接口则不能。

什么时候用接口或抽象类?

  1. 如果你拥有一些方法并且想让它们中的一些有默认实现,那么就使用抽象类

  2. 如果想实现多继承,则必须使用接口;java不支持多继承,子类不能继承多个类,但是可以实现多个接口,因此可以用接口来解决。

  3. 如果基本功能在不断改变,那么就需要使用抽象类。如果如果不断改变基本功能并且使用接口,那么就需要改变所有实现了该接口的类。

接口和抽象类的区别及使用场景

原文:https://www.cnblogs.com/yuangaopan/p/14660088.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!