1.接口和抽象类的区别
概念不同
1、接口是对动作的抽象,抽象类是对根源的抽象
2、抽象类表示的是:这个对象是什么。接口表示的是:这个对象能做什么
即:在高级语言中,一个类只能继承一个类(抽象类),如人不可能同时是生物和非生物;但可实现多个接口
当关注一个事物的本质,用抽象类;关注一个操作,用接口
抽象类的功能要远超过接口,但定义抽象类的代价高。因高级语言,每个类只能继承一个类,在这个类中,须继承和编写出其所有子类的所有共性。虽然接口在功能上会弱化很多,但它只针对一个动作的描述。且一个类中同时可实现多个接口。
总结:
1、接口是抽象类的变体,接口中所有的方法都是抽象的。而抽象类是声明方法的存在而不去实现它的类
2、接口可多继承,抽象类不行
3、接口定义方法,不能实现,而抽象类看实现部分方法
4、接口中基本数据类型为 static 而抽象类不是