java培训
搜索分类

java接口和抽象类的主要区别

赋能网 2023-05-10 59


java接口和抽象类的主要区别

java接口和抽象类的主要区别:java接口和抽象类的主要区别包括接口使用关键字interface来定义,抽象类使用关键字abstract来定义;接口使用implements关键字定义其具体实现,java培训抽象类使用extends关键字实现继承。除以上两点以外还包括子类扩展的数量不同、属性访问控制符不同等等。

java接口和抽象类的主要区别:

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、静态代码块使用不同

接口中不能使用静态代码块,抽象类中可以使用静态代码块。

想了解更多相关资讯请关注java培训频道查看更多,了解相关专业课程信息您可在线咨询也可免费申请试课。关注赋能网了解更多:4008-569-579

发表评论
0评