全国热线

025-86901720

全国监督投诉热线:9:00-23:00

java中抽象类和接口的区别你了解多少

java中抽象类和接口的区别你了解吗?今天南京学码思java培训机构​老师就来为大家具体介绍一下什么是抽象类,什么是接口,以及这两者有什么区别,一起来学习一下。

Java是一门高端计算机编程语言,基础知识点比较细分复杂,加上还有很多专业术语,新手入门消化理解起来不容易,常会遇到各种各样的问题,尤其是类似知识点之间的区别,很多人不是很清楚,比如java中抽象类和接口的区别你了解吗?今天南京学码思java培训机构老师就来为大家具体介绍一下什么是抽象类,什么是接口,以及这两者有什么区别,一起来学习一下。

java中抽象类和接口的区别你了解多少

一、什么是抽象类?


抽象类是从多个具体的类中提取出共性行为放到父类中,这些具体类中不同行为在该抽象类中以抽象方法的形式来定义,在具体的子类中实现。


抽象类是指不能被实例化的类。在抽象类中,类的所有其他功能都存在,成员变量、方法、构造函数都可以用同样的方式访问,只是不能创建抽象类的实例


抽象方法只有方法签名,没有方法体(只声明,不实现)。将一个方法声明为抽象方法有两个结果:1.类也必须声明为抽象类;2.任何子类必须重写抽象方法,除非该子类本身也是抽象的。


二、什么是接口?


接口是特殊的抽象类,它比抽象类更加抽象。


以下关于接口的定义来自百度百科:【Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。包含两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”】


三、接口和抽象类的区别?


1.接口中只能包含抽象方法,而抽象类中可以包含普通方法;


2.接口中不能定义静态方法,而抽象类可以定义静态方法;


3.接口中只能定义静态常量属性,不能定义普通属性,而抽象类既可以定义普通属性,也可以定义静态常量属性;


4.接口不包含构造器,而抽象类中可以包含构造器。抽象类中的构造器并不是用于创建对象,而是让子类调用这些构造器来完成属于抽象类的初始化工作;


5.接口中不包含初始化块,而抽象类中可以包含初始化块;


6.一个类非常多有一个直接父类,包括抽象类,但是一个类可以实现多个接口,通过实现多个接口来弥补java单继承的不足。


把抽象类和接口这两个知识点放在一起对比说明,相信大家就好理解了。如果你对于java学习还有什么疑问,想要系统学习java开发的话,欢迎来南京学码思java培训机构,还能获得免费java教程和试听课程的权限,欢迎亲自前来试学感受,与学码思老师进一步沟通交流。


上一篇:Java数组有哪些用法
下一篇:java编程不得不遵守的几个原则

相关推荐

免费试听 | 学费咨询 | 在线报名 | 申请补贴 | 软件培训 | 网站地图

2016-2020 南京学码思教育科技有限公司 .All Rights Reserved

苏ICP备16033487号 www.njxms.com.cn

全国热线

400-080-3312

全国监督服务热线:9:00-23:00