首页 > 其他 > 详细

接口和抽象类的区别

时间:2019-05-26 18:37:45      阅读:115      评论:0      收藏:0      [点我收藏+]
  1. 接口没有构造函数,抽象类可以有构造函数;
  2. 一个类可以同时实现多个接口,但一个类只能继承一个抽象类
  3. 接口中声明的方法只能是public的,默认也是public权限;抽象类可以是public、protected、private
  4. 抽象类使用extends继承抽象类或者 接口,  接口可以使用implements 也可以使用extends继承一个或多个接口
  5. 接口中只能放抽象方法(没有abstract关键字修饰的)和const常量,抽象类中可以有成员属性变量、常量,已经实现的方法、抽象方法;(抽象方法没有方法体)

补充:有抽象方法的类一定是抽象类,但是抽象类不一定有抽象方法;可以同时继承抽象类和实现接口,extends要写在前面;接口也可以继承,通过使用 extends 操作符

接口解决了类不能多继承问题,接口适用于不同系列的类具有相同的动作,不是相同的系列,但具有相同的行为,这个就考虑使用接口,抽象类适用于同一系列,并且有需要继承的成员。

当你关注一个事物的本质的时候,用抽象类;当你关注一个操作的时候,用接口。

比如人和其他动物都会吃。把吃写成一个接口。因为一个类可以实现多个接口,所以还可以写喝接口等等。

人和学生,,学生具备人的特征和行为,把人写成抽象类,学生继承这个抽象类。(个人的理解

 

接口和抽象类的区别

原文:https://www.cnblogs.com/bneglect/p/10926871.html

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