抽象类和接口的区别

来源:互联网 发布:吉林省卫生网络直报 编辑:程序博客网 时间:2024/06/10 20:24

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


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

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

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

总结:

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

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

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

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

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

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

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

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

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

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

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


0 0
原创粉丝点击