抽象类与接口的区别(面试题)

抽象类和接口都属于常用类结构设计, 在开发之中都会出现,不过按照优先选择来讲,接口一定要比抽象类更方便。(抽象类能够做一些共同接口子类的间接实现)

从概念上来讲两者进行一下简单的对比:


NO

区别点

            抽象类

            接 口

1

关键字

abstract class 类名称{ }

interface接口名称

2

结构组成

抽象方法、普通方法、全局常量、全局变量、属性、构造方法

抽象方法和全局常量

3

权限

可以使用各种权限

只能够使用public访问权限

4

子类使用

子类利用extends关键字来继承抽象类

子类利用implements关键字来实现接口

5

关系

一个抽象类可以实现若干个接口

一个接口不能继承抽象类,但是可以使用extends来继承多个父接口

6

子类限制

一个子类只能够继承一个抽象类

一个子类可以实现多个接口


除了单继承的局限之外,实际上使用抽象类和接口都是类似的,但是在实际的开发之中,抽象类的设计要比接口复杂。现在要求掌握的就是如何去定义接口以及更好的实现子类。

对于现在已经学习的概念发现结构体很多:类、对象、抽象类、接口,那么这几者的具体关系实际上可以通过如下的一张图来描述。


总之:

1.接口是java的核心,慢慢需要学习到接口更多的使用以及设计;

2、开发之中优先考虑接口,以避免单继承局限

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值