抽象类和接口的区别
抽象类和接口
abstract 抽象类:含有抽象方法的类叫抽象类 ,(抽象类只负责规定子类有哪些方法,规定方法什么样子,具体的实现交给子类.)
抽象类不能被实例原因:方法没有方法体就不能分配空间.
当子类继承了抽象类以后,要么声明当前类是抽象类,要么实现抽象方法
方法的空实现:有方法体没有方法.
interface 接口 :接口中不能拥有属性,接口中的属性都是静态的最终变量,不能有已实现的方法,
接口中默认的方法都是抽象方法.
如果子类中的没有实现接口的方法那么这个类还是抽象类
抽象类和接口的区别:
1.抽象类是被继承的,接口是用来被实现的
2.接口可以实现多个,抽象类只能继承一个;
3.抽象类中可以用已实现的方法,接口中不能有已实现的方法(接口是个纯抽象类)
4.抽象类中可以有属性,接口中属性都是静态最终变量
5.抽象类比接口更加灵活,因为抽象类可以自由增加方法,子类可以不需要改变,而接口必须发生改实现类必须改变
6.接口只是用来形容描述动作的,不能描述结构,而抽象类可以形容结构,因为其拥有属性