相同点:
- 都不能被实例化。
- 都能包含抽象方法。
不同点
抽象类与接口紧密相关。然接口又比抽象类更抽象
1.类可以实现无限个接口,但仅能从一个抽象类继承,从抽象类派生的类仍可实现接口,从而得出接口是用来解决多重继承问的。
2.抽象类当中可以存在非抽象的方法,可接口不能且它里面的方法只是一个声名必须用public来修饰没有具体实现的方法。接口里面的方法全是抽象方法
3.抽象类中的成员变量可以被不同的修饰符来修饰,可接口中的成员变量默认的都是静态常量(static fainl)。
4.抽象类是对象的抽象,然接口是一种行为规范"。
为什么用抽象类
定义成抽象类是为了以后要其子类来继承的,因为父类里有很多方法是无法定义具体的实现的,只能定义一个原型,让子类来分别实现!所以要定义成抽象的!
简单来说就是抽象类是在接口和实体类之间的一个桥梁