问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样理解接口与抽象类的区别?

发布网友 发布时间:2022-06-01 08:13

我来回答

2个回答

热心网友 时间:2024-01-11 04:17

在Java语言中,接口(Interface)是对符合接口需求的类的一套规范。接口与包相似,也是用来组织应用中的各类并调节它们的相互关系的一种结构,更准确地说,接口是用来实现类间多重继承功能的结构
1 接口概念
接口主要作用是可以帮助实现类似于类的多重继承的功能。在Java中,出于简化程序结构的考虑,不再支持类间的多重继承而只支持单重继承,即一个类至多只能有一个直接父类。然而在解决实际问题的过程中,仅仅依靠单重继承在很多情况下都不能将问题的复杂性表述完整,需要其他的机制作为辅助。
2 接口声明
Java中声明接口的语法如下:
[public] interface 接口名 [extends 父接口名列表]
{ //接口体;
//常量域声明
[public] [static] [final] 域类型 域名=常量值;
//抽象方法声明
[public] [abstract] 返回值 方法名(参数列表) [throw异常列表];
}
从上面的语法规定可以看出,定义接口与定义类非常相似,实际上完全可以把接口理解成为一种特殊的类,接口是由常量和抽象方法组成的特殊类
(1)接口中的属性都是用 final修饰的常量,
(2)接口中的方法都是用abstract修饰的抽象方法,在接口中只能给出这些抽象方法的方法名、返回值和参数列表,而不能定义方法体,即仅仅规定了一组信息交换、传输和处理的“接口”
2 接口的实现
一个类要实现某个或某几个接口时,有如下的步骤和注意事项:
(1)在类的声明部分,用implements关键字声明该类将要实现哪些接口;
如下:
class 类名 implements 接口{

}
(2)如果实现某接口的类不是abstract的抽象类,则在类的定义部分必须实现指定接口的所有抽象方法,即为所有抽象方法定义方法体,而且方法头部分应该与接口中的定义完全一致,即有完全相同的返回值和参数列表;
(3)如果实现某接口的类是abstract的抽象类,则它可以不实现该接口所有的方法。

(4)一个类在实现某接口的抽象方法时,必须使用完全相同的方法头。
(5)接口的抽象方法,其访问*符都已指定是public,所以类在实现方法时,必须显式地使用public修饰符。
一个接口的定义由关键字interface开始以包含pubic final static数据。但这不是必须的,即子类也可以使用一个方并包含一套public abstract方法,接口也可为使用接口,一个类必须声明实现(关键字implements)接口,指定的参数个数和返回类型定义每个方法。当没有缺省的实现用来继承时,通常使用接口而不使用抽象类。
当某个类实现一个接口时,也有同样的“是一个”继承性关系。并且必须根据接口中为实现一个以上的接口,只要在类定义中的关键字implements后面列出接口名逗号分隔。

热心网友 时间:2024-01-11 04:17

接口类用关键字interface来修饰,只能定义常量不能定义变量!不能被实例化,可以多实现
抽象类用abstact来修饰,常量和变量都可以定义,只能单一继承~

抽象类和接口都不能被实例化
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
不想要淘宝原来的帐号,怎么办,可以注销吗~谢谢了,大神帮忙啊 蓝宝石HD6770显卡求鉴定,GPUZ检测数据如下: 健身60公斤,176身高的人,比较瘦,是不是即便经常锻炼,力气也不一定比胳膊... 农村土地什么情况不予发证?如何解决? 共工治水在前还是怒触不周山在前? 共工触山的故事 有什么类似漂流瓶的软件推荐 漂流瓶软件推荐 保险柜密码怎么改 保险柜密码正确但是打不开怎么办 西安水多少钱一顿 西安哪里可以买自来水 怎么安排时间 程序中的接口如何理解啊能不能给小弟我个通俗易懂的 ...是端口?两者之间有什么区别?又该如何正确理解接口和端口的定义?_百 ... 在两个word文档窗口之间复制时没有插入点光标,只有箭头,无法编辑。 鞋子穿久了鞋带和鞋眼地方的金属摩擦出来的残留在鞋带上的锈迹怎么才... 推荐以下好用的头戴式耳机(手机用) 3个工作日是什么意思啊! 3个工作日是什么意思,是3天吗? 想买个适合女生用的头戴式耳机?平时听歌或运动时听?有好的推荐不? 鱼儿鲜怎么样 ipad air是什么版本的 svc mime 是什么啊,你怎么解决的啊 谁知道FLASH中老说的 MIME类型 是什么东西 sisx的mime是什么啊??? 吸尘器咋吸不了了呀 床上吸尘器怎么头发都吸不出来 小发财树能晒太阳吗 石家庄市换社保卡到银行什么时候取新卡 1.28号前从贵州安顺回昆明。需要核酸检测 吗? 长毛兔仔兔疫苗怎么打 为什么在有的word文档里编辑不能插入? 怎么去理解Java的接口 Word文档显示不了插入符号? 晚上做梦梦见自己的头发白了,请问谁知道这是什么意思? 怎么查看QQ号绑定了哪个? 软化头发失败有什么补救方法? "万事不求人"的小篆体字怎么写 刻章机的英文字体一般用哪种啊?我用了很多种字体刻出来的M不清晰,模 ... 啥字,,, 浙江省多媒体大赛 入围答辩和不答辩的区别 科瓦列夫解释为什么没能KO霍普金斯 评2014年世界最佳拳手当属谁 笔记本出现红叉无法联网 我是非计算机专业的学生,想考华为网络工程师,有哪位仁兄考过的告诉我... 梦见灯不亮过不多久我老公就死了 电脑win10自动更新关闭自动更新无效? win10如何关闭自动更新,每天都更新很烦,关闭windows update也不管用_百 ... 怎样取消windows10的自动更新啊,一直这样,一天了,关机也没用。 滴滴打车司机端和乘客端费用会不一致吗 滴滴打车乘客端导航,为他人打车后,自己的手机上是否会显示移动路线...