在平常的开发工作中,经常会用到抽象类和接口。在面试的时候,这个知识点也会被经常问到,那么,接口和抽象类具体有什么区别和联系呢?
接口:
抽象类:
看了上面两段代码,发现接口中方法不能有方法体,方法不能定义为私有的,抽象类中的方法必须有方法体。接口主要用来实现,可以多实现,抽象类用来继承,Java中是单继承。
总结:1:接口用来实现,可以多实现;抽象类用来继承,是单继承。
2:接口中的方法不能有方法体,抽象类中的方法有方法体。
3:接口中只能做方法声明,抽象类中可以做方法的声明,也可以实现。
4:抽象类和接口都不能实例化。
5:抽象类中可以有构造方法,接口中不能有构造方法。
6:抽象类中可以没有抽象方法,但是有抽象方法的类,一定是抽象类。
7:抽象类中可以包含非抽象的方法,接口中的方法都是抽象方法。
8:抽象类中可以包含静态方法,接口中不能包含静态方法。
知识就是要不断的学习,不断的复习,才会记忆的更加的深刻!加油,美好的风景一直在路上!