接口和抽象类的区别csdn(抽象类和接口的区别在哪里)

2024-07-24 11:23:50 2

接口和抽象类的区别csdn(抽象类和接口的区别在哪里)

本文目录

抽象类和接口的区别在哪里

1、方法不同

接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),而抽象类可以有非抽象的方法。

2、质量不同

接口中除了static、final变量,不能有其他变量,而抽象类中则不一定。

3、数量不同

一个类可以实现多个接口,但只能实现一个抽象类。接口自己本身可以通过extends关键字扩展多个接口。

4、修饰符不同

接口方法默认修饰符是public,抽象方法可以有public、protected和default这些修饰符(抽象方法就是为了被重写所以不能使用private关键字修饰)。

5、设计层面不同

抽象是对类的抽象,是一种模板设计,而接口是对行为的抽象,是一种行为的规范。

扩展资料;

接口可以是命名空间或类的成员,并且可以包含下列成员的签名:

方法属性索引器事件一个接口可从一个或多个基接口继承。

当基类型列表包含基类和接口时,基类必须是列表中的第一项。

实现接口的类可以显式实现该接口的成员。显式实现的成员不能通过类实例访问,而只能通过接口实例访问。

参考资料来源;百度百科——抽象类

百度百科——接口

    接口和抽象类有什么区别

    1、意思不同:

    接口(硬件类接口)是指同一计算机不同功能层之间的通信规则称为接口。

    抽象类用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。

    2、存在情况不同:

    接口当中不能存在非抽象的方法。

    抽象类当中可以存在非抽象的方法。

    3、成员变量不同:

    接口中的成员变量默认的都是静态常量(static final)。

    抽象类中的成员变量可以被不同的修饰符来修饰。

    4、概念不同:

    接口是一种行为规范。

    抽象类是对象的抽象。

    1、抽象类不能直接实例化,并且对抽象类使用 new 运算符会导致编译时错误。虽然一些变量和值在编译时的类型可以是抽象的,但是这样的变量和值必须或者为 null,或者含有对非抽象类的实例的引用。

    2、允许(但不要求)抽象类包含抽象成员。

    3、抽象类不能被密封。

    扩展资料:

    接口和抽象类的相似之处:

    1、不能实例化。

    2、包含未实现的方法声明。

    3、派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括其他成员)。

    抽象类和接口的区别

    抽象类和接口的区别如下:

    1、普通方法提供方法体

    接口里只能包含抽象方法,静态方法和默认方法,不能为普通方法提供方法实现,抽象类则完全可以包含普通方法,接口中的普通方法默认为抽象方法。

    2、publicstaticfinal赋值

    抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是publicstaticfinal类型的,并且必须赋值,否则通不过编译。

    3、构造器

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

    4、初始化块

    接口里不能包含初始化块,但抽象类里完全可以包含初始化块。

    5、继承一个抽象类、多个接口

    一个类只能继承一个抽象类,而一个类却可以实现多个接口。

    抽象类与接口的区别简答

    区别:

    1、概念的区别:

    抽象类是从一些类中抽取出它们共有的属性(例如某些相同的成员变量、属性相同(修饰符、函数名、参数类型、参数个数)的方法),注意方法的修饰符可以为public或者protected(因为假如是private则子类无法继承),缺修饰符情况下默认为public,抽象类注重于对类本身的抽象,抽象方法没有方法体,仅仅是声明了该方法,让继承它的子类去实现。而接口主要是对类的行为的抽象,接口也可以有变量和方法,但是变量以及方法的修饰符都必须分别是public static final(省略时也会默认是这个)和public abstract(省略时也会默认是这个)。

    注意:在java 8以后, 对接口做了新的修改,允许接口有默认方法default,即可以为接口添加实现方法,这样实现接口的类就不需要做任何的改动就能继承该接口所实现的该默认方法了;这样就使得接口与抽象类更相似了(因为抽象类不仅存在抽象方法,而且还可以有具体的已经实现了的方法)。

    2、语法定义的区别:

    抽象类通过 public abstract class 抽象类名字 {成员变量1…n; puclic abstract 返回类型 抽象方法名1…n(参数类型、参数名字1…n){};}来定义。抽象类还可以有不是抽象方法的方法。上两行只是说明了抽象方法的语法定义。接口通过public interface 接口名字{public static final 成员变量1…n;public abstract 返回类型 方法名1…n(参数类型、参数名字1…n){};}来定义。接口只能包含抽象方法(这是以前),在java 8以后可以包含默认的实现方法default(上面已经讲过了,这里再重复一遍)。

    3、单继承与多继承的区别:

    在java编程语言里,类与类之间只允许单继承,即一个类只能继承一个抽象类;但是一个类可以实现多个接口implements 接口1…n,实现多继承。

    4、能否包含构造方法:

    接口中不允许存在构造方法,因为接口的成员变量都是static final变量,是在编译的时候就完成了初始化操作了,也不需要通过构造方法来进行初始化操作,而接口的方法是抽象方法,和抽象类一样只是声明之后让实现它的类去完善该方法体的;而抽象类可以有构造方法,因为抽象类除了有抽象的方法以外,其余地方与普通的类其实是没什么区别的,所以可以通过构造方法完成一些初始化的操作。

    相同点:

    1、它们都不能被实例化,就是不能直接new()为它们分配空间,而是需要通过继承或者实现它们的类将它们实例化。2、继承或者实现它们的类都必须实现它们所有的抽象方法。假如继承该抽象类的类没有全部实现抽象方法,则还是一个抽象类。

    使用它们的技巧(场景):

    当我们需要研究事物的本质属性时,可以考虑使用抽象类来讲它们共有的属性抽象出来,可以减少代码量,优化程序的结构;当我们想要对某一种行为进行研究时,可以考虑使用接口,对很多的类所共有的该方法(行为)进行抽象,让不同的类去实现属于该类的方法,通过接口变量就可以实现接口回调。

    补充:

    接口变量:接口可以声明变量,称为接口变量。接口变量可以存放一个对象的引用(地址), 要求该对象的类实现对应接口。接口回调:指把实现了某个接口的类的对象的引用赋值给该接口声明的接口变量。通过接口变量去调用被类实现的接口的方法。通过接口变量无法调用类中非实现接口中声明的方法。

    作者:那星阿伦

    链接地址:网页链接

    来源:CSDN

    抽象类和接口的区别是什么

    抽象类是用来捕捉子类的通用特性的,而接口则是抽象方法的集合;抽象类不能被实例化,只能被用作子类的超类,是被用来创建继承层级里子类的模板,而接口只是一种形式,接口自身不能做任何事情。

    其次,抽象类可以有默认的方法实现,子类使用extends关键字来继承抽象类,如果子类不是抽象类的话,它需要提供抽象类中所有声明方法的实现。而接口完全是抽象的,它根本不存在方法的实现,子类使用关键字implements来实现接口,它需要提供接口中所有声明方法的实现。

    抽象类可以有构造器,除了不能实例化抽象类之外,它和普通Java类没有任何区别,抽象方法可以有public、protected和default这些修饰符。而接口不能有构造器,是完全不同的类型,接口方法默认修饰符是public,不可以使用其它修饰符。

    接口是引用类型的,和抽象类的相似之处有三点:

    1、不能实例化。

    2、包含未实现的方法声明。

    3、派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括其他成员)。

    “抽象类”和“接口”的区别是什么

    它们的区别主要有以下几点:

    1、 接口是抽象类的变体,接口比抽象类更加抽象,接口中所有的方法都是抽象的。

    2、每个类只能继承一个抽象类,但是可以实现多个接口。

    3、抽象类中不一定都是抽象方法,抽象的而抽象类可以实现部分方法。但是接口中方法必须为public修饰的、抽象的不能实现具体的法。

    4、接口中基本数据类型为static而抽象类不是的。

    扩展资料:

    抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。

    通常在编程语句中用 abstract 修饰的类是抽象类。在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。

    抽象类是不完整的,它只能用作基类。在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色。

    接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。

    人类与电脑等信息机器或人类与程序之间的接口称为用户界面。电脑等信息机器硬件组件间的接口叫硬件接口。电脑等信息机器软件组件间的接口叫软件接口。

    在计算机中,接口是计算机系统中两个独立的部件进行信息交换的共享边界。这种交换可以发生在计算机软、硬件,外部设备或进行操作的人之间,也可以是它们的结合。

    百度百科—接口

    百度百科—抽象类

    java接口和抽象类的区别csdn

    简单来说,接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用.

    接口和抽象类的区别csdn(抽象类和接口的区别在哪里)

    本文编辑:admin

    本文相关文章:


    接口和抽象类的区别csdn(接口和抽象类有什么区别)

    接口和抽象类的区别csdn(接口和抽象类有什么区别)

    本文目录接口和抽象类有什么区别抽象类和接口的区别“抽象类”和“接口”的区别是什么抽象类和接口的区别在哪里抽象类与接口的区别简答java接口和抽象类的区别csdn抽象类和接口的区别是什么接口和抽象类有什么区别1、意思不同:接口(硬件类接口)是

    2024年6月25日 02:26

    更多文章:


    voa常速英语(英语听力voa常速英语)

    voa常速英语(英语听力voa常速英语)

    本文目录英语听力voa常速英语听VOA英语到底应该听慢速的还是常速的好听懂VOA常速的人英语水平厉害吗常速的BBC和VOA有什么区别VOA 常速英语就是标准英语吗准备12月份的六级考试,听BBC还是VOA呢VOA慢速和常速适合什么水平的人听

    2024年6月7日 20:31

    google地图手机版下载(华为手机怎样下载谷歌地图带中文版)

    google地图手机版下载(华为手机怎样下载谷歌地图带中文版)

    本篇文章给大家谈谈google地图手机版下载,以及华为手机怎样下载谷歌地图带中文版对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录华为手机怎

    2024年5月26日 06:06

    好游快爆app下载(苹果如何下载好游快爆)

    好游快爆app下载(苹果如何下载好游快爆)

    各位老铁们,大家好,今天由我来为大家分享好游快爆app下载,以及苹果如何下载好游快爆的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录苹果如何下载好游

    2024年7月20日 18:20

    在线投票系统(网页中的投票系统怎么做)

    在线投票系统(网页中的投票系统怎么做)

    本文目录网页中的投票系统怎么做网上实时投票怎么进行如何快速制作网上投票系统本科毕业设计想做一个在线投票系统,包含哪些功能才能完整,要用一定的难度,希望大家给些意见网上投票系统的目的与意义在线投票系统带来的影响线上投票加现场打分用什么规则定名

    2023年11月26日 21:20

    inspection(inspection 是什么意思)

    inspection(inspection 是什么意思)

    这篇文章给大家聊聊关于inspection,以及inspection 是什么意思对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录inspection 是什么意思inspection是什么意思measurement和inspec

    2024年6月3日 02:05

    mc喊麦软件(能用手机直播喊麦的软件)

    mc喊麦软件(能用手机直播喊麦的软件)

    本文目录能用手机直播喊麦的软件谁有好的喊麦软件,供MC爱好者使用!做mc喊麦需要哪些软件mc喊麦要下载什么软件制作MC喊麦用那些软件能用手机直播喊麦的软件你好,mc喊麦软件就很好用,在应用宝下载就可以了,直接在扣扣浏览器中找应用宝然后点击普

    2024年7月4日 03:50

    易信app下载(有什么软件可以让电信用户用流量发短信)

    易信app下载(有什么软件可以让电信用户用流量发短信)

    “易信app下载”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看易信app下载(有什么软件可以让电信用户用流量发短信)!本文目录有什么软件可以让电信用户用流量发短信易信app安全吗下载易信app并注册怎样做易信app为什么不

    2024年5月22日 10:41

    柔居岳飞全传下载(柔居版岳飞全传 汤怀救出战)

    柔居岳飞全传下载(柔居版岳飞全传 汤怀救出战)

    本文目录柔居版岳飞全传 汤怀救出战谁有岳飞全传宝物全开的存档,说一下,感激不尽柔居岳飞全传 38关 岳飞归神----施全刺秦战 结束后不能选择进入39要怎么弄岳飞全传柔居版岳飞全传 汤怀救出战不要补丁 那关不修改的话 狠变态 基本必死

    2024年2月14日 15:00

    行星遭遇攻击(为什么龙珠中弗利萨动动手指头就能摧毁一个星球,而战斗时全力也只能引起小范围爆炸)

    行星遭遇攻击(为什么龙珠中弗利萨动动手指头就能摧毁一个星球,而战斗时全力也只能引起小范围爆炸)

    本文目录为什么龙珠中弗利萨动动手指头就能摧毁一个星球,而战斗时全力也只能引起小范围爆炸经常在科幻剧中听到飞船光速,超光速飞行,它不怕被撞或撞上行星陨石吗为什么我在玩《孢子》太空阶段时一离开母星就会遭到外星飞船攻击如果一颗和地球相仿的行星撞击

    2023年9月1日 11:40

    优化大师电脑版(为什么班级优化大师电脑版每次都要安装)

    优化大师电脑版(为什么班级优化大师电脑版每次都要安装)

    大家好,今天小编来为大家解答以下的问题,关于优化大师电脑版,为什么班级优化大师电脑版每次都要安装这个很多人还不知道,现在让我们一起来看看吧!本文目录为什么班级优化大师电脑版每次都要安装三星笔记本电脑怎么下载班级优化大师班级优化大师电脑版怎么

    2024年6月20日 13:47

    水浒q传官网(水浒q传,怎么上传漫画在官网还有怎么搞漫画)

    水浒q传官网(水浒q传,怎么上传漫画在官网还有怎么搞漫画)

    本文目录水浒q传,怎么上传漫画在官网还有怎么搞漫画水浒Q传停运了吗为什么入金山官网找不到这游戏在17173下的入不了游戏水浒q传,怎么上传漫画在官网还有怎么搞漫画做漫画要用到1.键盘上的截图键2.PS软件把你需要的人物场景等等使用键盘上的截

    2024年5月19日 03:40

    考试宝可以拍照搜题吗?考试宝怎么扫二维码答题

    考试宝可以拍照搜题吗?考试宝怎么扫二维码答题

    本文目录考试宝可以拍照搜题吗考试宝怎么扫二维码答题考试宝是免费的吗考试宝如何下载他人题库考试宝app显示通过apple登陆,一直点没反应考试宝会员怎么买考试宝里面的高频错题有什么作用考试宝怎么看答案护师考试买人卫版的还是军医版的好买护考急救

    2024年7月24日 00:11

    中文手写输入法下载安装(怎么安装手写输入法)

    中文手写输入法下载安装(怎么安装手写输入法)

    今天给各位分享怎么安装手写输入法的知识,其中也会对怎么安装手写输入法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录怎么安装手写输入法不会拼音怎么打字 如何下载手写输入法我想在电脑上下载一个手写软件,请问怎么下

    2024年6月30日 01:50

    雅虎相册不见了,怎样才能把相片找回来谢谢!?我以前的雅虎相册如何找回

    雅虎相册不见了,怎样才能把相片找回来谢谢!?我以前的雅虎相册如何找回

    本文目录雅虎相册不见了,怎样才能把相片找回来谢谢!我以前的雅虎相册如何找回雅虎相册在哪里雅虎相册雅虎相册怎么关掉了是什么原因现在怎么雅虎相册登陆雅虎相册登陆不上怎么办怎样登陆雅虎相册,听说取消了,我十几年的照片都在那个相册里面,怎样才能找回

    2024年3月16日 21:10

    最火的可以结婚生子的手游(能结婚生子的仙侠游戏是什么)

    最火的可以结婚生子的手游(能结婚生子的仙侠游戏是什么)

    各位老铁们,大家好,今天由我来为大家分享最火的可以结婚生子的手游,以及能结婚生子的仙侠游戏是什么的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录能结

    2024年6月29日 00:33

    ZFS删除文件后空间没有释放,怎么破?zfs与ufs有什么区别

    ZFS删除文件后空间没有释放,怎么破?zfs与ufs有什么区别

    本文目录ZFS删除文件后空间没有释放,怎么破zfs与ufs有什么区别zippo打火机zfs什么意思zfs文件系统占用多大储存容量我在2t硬盘里安装了zfs后,大概减少了300g第五人格zfs是什么意思ZFS删除文件后空间没有释放,怎么破用d

    2024年7月3日 10:34

    miui天气(如何在MIUI主界面显示天气和时间信息)

    miui天气(如何在MIUI主界面显示天气和时间信息)

    本文目录如何在MIUI主界面显示天气和时间信息miui13手机首页透明天气时间不见了,怎么办MIUI通知栏的天气能取消吗小米手机MIUI系统的天气怎么设置miui13如何设置4*1天气窗如何在MIUI主界面显示天气和时间信息小米手机设置在主

    2024年7月8日 00:34

    古代名医扁鹊本名叫什么(扁鹊的本名叫什么)

    古代名医扁鹊本名叫什么(扁鹊的本名叫什么)

    本文目录扁鹊的本名叫什么扁鹊原名叫什么扁鹊本名是什么扁鹊的真名是什么我国古代名医扁鹊本名叫什么扁鹊的本名叫什么扁鹊是春秋战国时期的人,可能很多小伙伴对于春秋战国时期人物的名字不是很清楚,不知道为什么会有那么奇怪的名字或者姓氏。这就首先要弄清

    2024年5月8日 22:31

    天下3天机怎么加点?《天命奇御》天机刀法+圆月神功加点及打法指南

    天下3天机怎么加点?《天命奇御》天机刀法+圆月神功加点及打法指南

    本文目录天下3天机怎么加点《天命奇御》天机刀法+圆月神功加点及打法指南天下3重击天机怎么加点天机怎么加点天机加点天下三天机技能加点天下3天机加点天下三 天机 全疾加点 敏疾炼化 求装备推荐天下3天机如何加点天下3里的天机怎么加点天下3天机怎

    2024年7月24日 15:38

    重启电脑怎么一键还原(电脑怎么重装系统或一键还原系统)

    重启电脑怎么一键还原(电脑怎么重装系统或一键还原系统)

    本篇文章给大家谈谈重启电脑怎么一键还原,以及电脑怎么重装系统或一键还原系统对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录电脑怎么重装系统或

    2024年6月28日 19:55

    近期文章

    本站热文

    iphone vpn设置(ios设置vpn快捷开关)
    2024-07-22 15:01:12 浏览:2334
    windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
    2024-07-20 17:26:53 浏览:1730
    java安装教程(win10如何安装JAVA)
    2024-07-19 19:55:49 浏览:1155
    client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
    2024-07-20 11:15:58 浏览:1152
    标签列表

    热门搜索