抽象类和接口的区别

接口和抽象类的概念不一样,接口是对动作的抽象,抽象类是对根源的抽象。


抽象类表示的是这个对象是什么,接口表示的是这个对象能干什么,比如说男人,女人这两个类,他们的抽象类是人,说明他们都是人。

人可以吃东西,狗也可以吃东西,你可以把吃东西定义成一个接口,然后让这些类去实现它。

所以,一个类只能继承一个类(抽象类),但是可以实现多个接口。

总结:

1:抽象类和接口都不能实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向所有实现接口方法的类对象。

2:抽象类要被子类继承,接口要被类实现。

3:抽象类中可以做方法申明,也可以做方法实现,接口只能做方法申明。

4:抽象类定义的变量是普通变量,接口中定义的只能是公共的变量。

5:抽象类只能单继承,接口可以继承接口,并可以继承多个接口。

6:抽象类是重构的结果,接口是设计的结果。

7:抽象类和接口都是用来抽象具体对象的,但是接口的抽象级别最高。

8:抽象类 可以有具体的方法和属性,但是接口只能有抽象方法,不能有常量和变量。

9:抽象类主要用来抽象类别,接口只能用来抽象功能。

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

接口内只能含有未被实现的方法,也叫抽象方法,但是不用abstract关键字。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值