接口和抽象类的区别
在Java开发过程中,我们难以避免的需要去创建一些继承以及实现关系的类。通过这样的方式去满足我们业务的需求以及使得我们开发的系统更加完善。相信接口和抽象类大家一定不会陌生,但是这两者的区别又是在哪里呢?
1、所修饰的关键字不一样
接口:Interface、Implement
抽象类:Abstract Class、extends
2、方法的使用范围不一样
接口:里面全部都是抽象方法,且范围必须使用public (在Java1.8之后引入的Default)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uL7NkU6a-1681788357901)(C:\Users\27692\AppData\Roaming\Typora\typora-user-images\image-20230416202306071.png)]
抽象类:抽象方法、具体方法。(可以使用Private修饰)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-frwHtvJ6-1681788357902)(C:\Users\27692\AppData\Roaming\Typora\typora-user-images\image-20230416202212714.png)]
3、抽象类可以使用构造方法,接口不能使用构造方法。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ujHsMAyM-1681788357902)(C:\Users\27692\AppData\Roaming\Typora\typora-user-images\image-20230416202456925.png)]