
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习Java编程开发语言,而本文我们就通过案例分析来简单了解一下,Java编程抽象类与接口的区别都有哪些。
1、区别1:定义关键字不同
接口使用关键字 interface 来定义。
抽象类使用关键字 abstract 来定义。
2、区别2:继承或实现的关键字不同
接口使用 implements 关键字定义其具体实现。
抽象类使用 extends 关键字实现继承。
3、区别3:子类扩展的数量不同
接口的实现类可以有多个
而抽象类的子类,只能继承一个抽象类,如下图所示,继承多个抽象类就会报错:
在 Java 语言中,一个类只能继承一个父类(单继承),但可以实现多个接口。
4、区别4:属性访问控制符不同
接口中属性的访问控制符只能是 public
接口中的属性默认是 public static final 修饰的。
抽象类中的属性访问控制符无限制,可为任意控制符
5、区别5:方法控制符不同
接口中方法的默认控制符是 public,并且不能定义为其他控制符
抽象类中的方法控制符无限制,其中抽象方法不能使用 private 修饰
6、区别6:方法实现不同
接口中普通方法不能有具体的方法实现,在 JDK 8 之后 static 和 default 方法必须有方法实现
从上述结果可以看出:static 或 default 方法如果没有方法实现就会报错,而普通方法如果有方法实现就会报错。
抽象类中普通方法可以有方法实现,抽象方法不能有方法实现
从上述结果可以看出:抽象类中的普通方法如果没有方法实现就会报错,而抽象方法如果有方法实现则会报错。
7、区别7:静态代码块使用不同
接口中不能使用静态代码块
抽象类中可以使用静态代码块,
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。