【抽象类与接口】
关于抽象类与接口的区别:
从特征上来说:
1.接口内部都是抽象方法,另外接口内方法默认为public abstract ,而抽象类内除了抽象方法也可以有普通方法;
2.接口是接口,它不是类,而抽象类除了无法被实例化以外和普通类没有区别(由于无法被实例化所以需要子类继承才能被使用);
3.一个类只能继承一个抽象类,但是一个类可以实现多个接口
4.抽象类中可以有成员变量,接口中没有成员变量
从功能上来说:
1.如果你拥有一些方法但不确定并且想让它们中的一些有默认实现,使用抽象类。
2.如果你想实现多重继承,可以使用接口,因为Java不支持多继承(一个父亲可以有很多儿子,但是一个儿子不能有很多爸爸(理论上hh)),子类不能够继承多个类,但可以实现多个接口。