2022-12-12 21:12:27|已浏览:110次

java接口和抽象类的主要区别
java接口和抽象类的主要区别:java接口和抽象类的主要区别包括接口使用关键字interface来定义,抽象类使用关键字abstract来定义;接口使用implements关键字定义其具体实现,java培训抽象类使用extends关键字实现继承。除以上两点以外还包括子类扩展的数量不同、属性访问控制符不同等等。
1、定义关键字不同
接口使用关键字interface来定义,抽象类使用关键字abstract来定义。
3、继承或实现的关键字不同
接口使用implements关键字定义其具体实现,java培训抽象类使用extends关键字实现继承。
3、子类扩展的数量不同
接口的实现类可以有多个,而抽象类的子类,只能继承一个抽象类,在Java语言中,一个类只能继承一个父类(单继承),但可以实现多个接口。
4、属性访问控制符不同
接口中属性的访问控制符只能是public,接口中的属性默认是public static final修饰的。抽象类中的属性访问控制符无限制,可为任意控制符。
5、方法控制符不同
接口中方法的默认控制符是public,并且不能定义为其他控制符,抽象类中的方法控制符无限制,其中抽象方法不能使用private修饰。
6、方法实现不同
接口中普通方法不能有具体的方法实现,在JDK 8之后static和default方法必须有方法实现,static或default方法如果没有方法实现就会报错,而普通方法如果有方法实现就会报错。
抽象类中普通方法可以有方法实现,抽象方法不能有方法实现,抽象类中的普通方法如果没有方法实现就会报错,而抽象方法如果有方法实现则会报错。
7、静态代码块使用不同
接口中不能使用静态代码块,抽象类中可以使用静态代码块。
注:尊重原创文章,转载请注明出处和链接 https://www.pxwy.cn/news-id-75012.html 违者必究!部分文章来源于网络由培训无忧网编辑部人员整理发布,内容真实性请自行核实或联系我们,了解更多相关资讯请关注java培训频道查看更多,了解相关专业课程信息您可在线咨询也可免费申请试课。关注官方微信了解更多:150 3333 6050