千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 接口和抽象类有什么区别

接口和抽象类有什么区别

来源:千锋教育
发布人:wjy
时间: 2023-03-14 16:58:00 1678784280

  接口(interface)和抽象类(abstract class)都是Java中用来实现多态性的机制。它们的区别如下:

接口和抽象类有什么区别

  1.定义:抽象类是一个类,可以有普通方法和抽象方法,其中抽象方法必须被子类实现;接口是一组抽象方法的集合,所有方法都是抽象方法,且没有具体实现。

  2.实现:子类只能继承一个抽象类,但可以实现多个接口。

  3.构造函数:抽象类可以有构造函数,接口没有构造函数。

  4.变量:抽象类可以有变量,接口只能定义常量。

  5.访问控制:抽象类中的方法可以是public、protected和default访问控制,而接口中的方法默认是public。

  6.默认实现:抽象类可以有普通方法的默认实现,而接口中所有的方法都没有默认实现。

  7.继承:子类继承抽象类时必须实现其中的抽象方法,否则该子类也必须是抽象类;子类实现接口时必须实现其中的所有方法。

  总之,抽象类是对类抽象,接口是对行为抽象。如果一个类具有一些共同的属性和行为,那么可以将这些共同的属性和行为放到抽象类中,让子类继承并实现其中的抽象方法。如果一个类只是具有一些共同的行为,那么可以将这些共同的行为定义到接口中,让实现该接口的类来实现其中的方法。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT