文章目录
普通类和抽象类的区别
1. 抽象类不能被实例化。
2. 当抽象类被普通类继承,子类一定要重写继承的方法。
3. 抽象方法不能是private(因为抽象方法就是用来重写的),一定要由abstract关 键词修饰
4. 当一个抽象类继承抽象类,可以不重写这个方法。
5. 抽象类可以和普通类有同样的成员和方法。
6. 抽象类不能被final修饰。
抽象类与接口的区别
- 接口是对动作的抽象,抽象是对本质的抽象。一个类只能继承一个类(如一个人不可能同时是男生和女生),但可以实现多个接口(吃饭接口,走路接口)。
- 抽象类中可以包含普通方法和字段,可以直接被使用;接口中不能包含普通方法,子类必须重写所有抽象方法,字段只能包含静态常量。
- 抽象类是用来抽象类别,接口用来抽象功能。
- 接口中的方法不能有具体的实现,且不能被实例化;但jdk1.8之后,接口中的方法可以有具体的实现,但这个方法必须被default修饰。
- 类和接口之间是implement,接口和接口之间是extends.