不说那么多废话了,总结几个小点:
一、抽象类
1、抽象类中可以只存在抽象方法,即可以没有实体方法;
2、子类继承抽象类,一定要实现抽象类的所有抽象方法;
3、抽象类不能被实例化,但可以利用多态机制减少代码量
(多态的意义);
二、接口
1、接口中的所有方法都要被实现该接口的类实现, 如果实现类是抽象类,则可以不实现;
2、接口不能被实例化;
3、接口可以被接口继承(可以重写父类方法,也可以不重写);
三、两者的区别
1、抽象类中可以存在多种类型的变量,而接口中的变量都要用public static final修饰;
2、类只能继承一个抽象类,但可以实现多个接口;
3、抽象类中既有抽象方法,又有实体方法,而接口中只能存在抽象方法(且方法前不加abstract关键字修饰);