第十三章、java抽象类与接口的区别

1、什么是抽象类

对类的一个抽象,把类(事物)抽象出来,当做模板,也就是说在有很多类的时候,我们把一些相似的类的某些方法,某些成员变量抽象出来作为一个模板,让这些类更方便的去继承。所以,在抽象类中,有抽象方法也有普通方法。一个抽象类就是包含抽象方法的类

在继承抽象类的时候,子类必须得实现抽象类中的所有抽象方法,抽象类也无法去创建实例,因为里面有抽象的方法。


2、什么是接口

接口通常来说是一个对行为的抽象,它是提供给别人调用的方法。它里面所有的方法都必须为public,而且它的成员变量必须是public static final 的。



3、接口与抽象类的区别

1.继承抽象类的子类们的本质都是相似的,它们体现的是一种 “is-a" 的关系,就像动物中的猫和狗;而对于接口的继承更多的是一种行为的相似,是一种 “like-a” 的关系,比如飞机和鸟,它们都具有飞的行为,却并不需要在本质上相似。

2.抽象类可以拥有任意范围的成员数据,既可以是抽象,也可以是非抽象;但是接口,所有的方法必须是抽象的,所有的成员变量必须是 public static final的,某种程度上来说,接口是对抽象类的一种抽象。

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,739评论 18 399
  • 抽象类 在继承的层次结构中,每个新子类都使类变得越来越明确具体。如果从一个子类追溯到父类,类就会变得更通用和抽象。...
    Steven1997阅读 1,391评论 0 5
  • 小时候在马路上走,妈妈会教导孩子要靠边走,因为路上有车,一不留神可能就给撞上了。如果有骑楼的地方也得尽量走在骑楼下...
    设备管理大视野阅读 381评论 0 0
  • 鹰叔读中庸(1) 开篇闲扯: 庆历元年(公元1041年)秋天,万木萧杀,寒风将黄土高原刮得遮天蔽日。 可能...
    鹰眼视角阅读 704评论 0 4
  • 放空自己的船,那么我是谁?我在深思了这个问题后。结合女儿琦琦从《国学夏令营》教我的:“小我有脾气。大我有福气,...
    真心爱礼阅读 147评论 5 4