首页 > 其他 > 详细

接口和抽象类的区别

时间:2020-04-12 17:49:06      阅读:49      评论:0      收藏:0      [点我收藏+]

抽象类

  • 抽象类和抽象方法用abstract修饰,含有抽象方法的类是抽象类,抽象类不一定含有抽象方法
  • 抽象方法必须为public或protected,如果是private将不能被继承
  • 抽象类不能用来创建对象
  • 如果一个类继承抽象类,则子类必须实现父类的抽象方法,如果没有实现,则必须将子类也定义为抽象类

 

接口

  • 接口泛指供别人调用的方法或者函数,是对行为的抽象
  • 接口可以由变量和方法,变量只能是public static final 变量,方法只能是public abstract方法
  • 接口中的方法都是抽象方法,比抽象类更“抽象”

 

区别

  • 一个类只能继承一个抽象类,可以实现多个接口
  • 一个类实现接口必须实现接口的所有方法,而抽象类不需要
  • 设计层面来说,抽象类是一种模板式设计,接口是行为规范,是一种辐射式设计,可以理解为,抽象类如果需要添加新的方法在抽象类中实现就行,不用每个子类都实现,而接口改变,所有实现接口的类都必须做相同的改变
  • 接口的方法默认是public,所有方法不能由具体实现,抽象类可以有普通方法
  • 接口中变量默认是final类型,抽象类不一定
  • 接口不能用new实例化,但可以声明,必须引用一个实现该接口的对象

接口和抽象类的区别

原文:https://www.cnblogs.com/codingLiu/p/12686335.html

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