抽象类和接口的区别

删除回忆
精选回答

许多朋友搞不懂Java中抽象类和借口的区别,今天我们就来分析一下。

操作方法

接口,在表面上是由几个没有主体代码的方法定义组成的集合体,有唯一的名称,可以被类或其他接口所实现(或者也可以说继承)。

接口是一组规则的集合,它规定了实现本接口的类或接口必须拥有的一组规则。体现了自然界“如果你是……则必须能……”的理念。接口是在一定粒度视图上同类事物的抽象表示。注意这里我强调了在一定粒度视图上,因为“同类事物”这个概念是相对的,它因为粒度视图不同而不同。

关于抽象类与接口,如果单从具体代码来看,对这两个概念很容易模糊,甚至觉得接口就是多余的,因为单从具体功能来看,除多重继承外(C#,Java中),抽象类似乎完全能取代接口。但是,难道接口的存在是为了实现多重继承?当然不是。抽象类和接口的区别在于使用动机。使用抽象类是为了代码的复用,而使用接口的动机是为了实现多态性。所以,如果你在为某个地方该使用接口还是抽象类而犹豫不决时,那么可以想想你的动机是什么。

总而言之,接口与抽象类的区别主要在于使用的动机,而不在于其本身。而一个东西该定义成抽象类还是接口,要根据具体环境的上下文决定。再者,接口和抽象类的另一个区别在于,抽象类和它的子类之间应该是一般和特殊的关系,而接口仅仅是它的子类应该实现的一组规则。(当然,有时也可能存在一般与特殊的关系,但我们使用接口的目的不在这里)如,交通工具定义成抽象类,汽车、飞机、轮船定义成子类,是可以接受的,因为汽车、飞机、轮船都是一种特殊的交通工具。再譬如Icomparable接口,它只是说,实现这个接口的类必须要可以进行比较,这是一条规则。如果Car这个类实现了Icomparable,只是说,我们的Car中有一个方法可以对两个Car的实例进行比较,可能是比哪辆车更贵,也可能比哪辆车更大,这都无所谓,但我们不能说“汽车是一种特殊的可以比较”,这在文法上都不通。

Android中ListView作为开发最常用的组件之一,我们经常要使用自定义的Adapter来达到我们的目的,因此写一个自己的BaseAdapter是很常见的事情,而重写BaseAdapter的目的就是为了少写重复代码和实现自己想要的getview()函数,这里我们看看这个抽象类:

我们再来看看接口,接口的目的是为了让实现接口的对象一不同方式实现同一方法,而不是为了减少重复代码,这里举一个Cache的代码,这一接口是制定了缓存对象的规则,即实现缓存的对象必须要实现接口里定义的方法,这样才能保证缓存功能的完整:

用生活展示人生 2024-01-12 14:40:36

相关推荐

什么情况会被开除公职

根据《公务员法》第八十八条规定,公务员有下列情形之一的,予以辞退:(一)在年度考核中,连续两年被确定为不称职的;(二)不胜任现职工作,又不接受其他安排的;(三)因所在机关调整、撤销、合并或者缩减编制员额需要调整...
展开详情

泰式玉米浓汤如何做

1、先将洋葱和火腿切丁,取热锅,倒入淡奶油和面粉,小火滑炒成糊。2、在面糊中加入清水,加入玉米番茄和火腿文火慢煮。3、将洋葱在化开的黄油油锅中煎出香味后加入浓汤中。4、当玉米的香气出来时再向浓汤中加入甜辣酱焖煮...
展开详情

大厦管理员的工作内容是什么啊

1、积极参加政治,业务知识学习和不断提高自身的综合素质,自觉遵守规章制度;2、熟悉大厦楼宇结构、单元户数面积、住户的数量、管线路的走向、各种设施设备的位置、管理费的收取依据标准和做到应知应会;3、遵守劳动纪律,...
展开详情

猫多少天下崽

猫咪通常怀孕63~65天下崽,但也有部分猫咪会提早或延后下崽。但是,如果猫咪不足58天下崽,可能早产了,幼猫可能会夭折。如果猫咪分娩时超过30~40分钟不下崽,可能难产了,建议尽快带它就医检查。猫咪怀孕时间猫咪...
展开详情

怎么做香喷喷的炸鸡

1、鸡翅根洗净后,甩干水分,斩成块后加入盐,料酒,酱油,生姜,小葱,和生粉腌制3小时左右。2、用油把花生米炸香后捞起。3、再把鸡块用中火煎,待肉变黄后捞起。4、再用大火炸至肉变红后捞起。5、把炸鸡用的油倒掉,顺...
展开详情

精选推荐更多>

救人一命胜造七级浮屠中的浮屠是指

“救人一命,胜造七级浮屠”中的“浮屠”是指佛教建筑形式,即所说的塔,又称浮图。读作jiù rén yī mìng,shèng zào qī jí fú tú。这种建筑最初用以供奉佛骨,后来用以供奉佛像,收藏经书。词语指救人一条性命,犹如建筑一座七级宝塔,功德无量。用以劝人行善,或向人恳求救命。
“救人一命,胜造七级浮屠”是一个汉语成语,意思是为死去的人造塔,毕竟不如“救人一命”的功德更大,更有意义。

己亥岁这首诗深刻地揭示了什么

《己亥岁二首》深刻地揭示了战争对人民造成的深重灾难和浩劫。
原文:
其一:
泽国江山入战图,生民何计乐樵苏。
凭君莫话封侯事,一将功成万骨枯。
其二:
传闻一战百神愁,两岸强兵过未休。
谁道沧江总无事,近来长共血争流。
译文:
其一:
富饶的水域江山都已绘入战图,百姓想要打柴割草度日而不得。
请你别再提什么封侯的事情了,一将功成要牺牲多少士卒生命!
其二:
传说一旦开战连众神灵都发愁,两岸军队连年混战一直不停休。
谁还说沧江总是太平没有祸事,近来江水混着鲜血争先向东流。
《己亥岁二首》是唐代诗人曹松的组诗作品。这组诗以干支为题,以示纪实,明确表明了对现实的批判态度。全诗概况地写出了战争对人民造成的深重灾难和浩劫,以冷峻深邃的目光洞穿千百年来封建战争的实质,写得力透纸背,入木三分。

山居秋暝是什么体裁的诗

《山居秋暝》是一首五言律诗,运用了反衬手法和对典故的艺术手法。《山居秋暝》是唐代诗人王维写的初秋时节所见雨后黄昏的景色,为山水名篇。该诗于诗情画意之中寄托着诗人高洁的情怀和对理想境界的追求。
原文:
空山新雨后,天气晚来秋。
明月松间照,清泉石上流。
竹喧归浣女,莲动下渔舟。
随意春芳歇,王孙自可留。
全诗将空山雨后的秋凉,松间明月的光照,石上清泉的声音以及浣女归来竹林中的喧笑声,渔船穿过荷花的动态,和谐完美地融合在一起,给人一种丰富新鲜的感受。它像一幅清新秀丽的山水画,又像一支恬静优美的抒情乐曲,体现了王维诗中有画的创作特点。

个个和各个的区别

个个与各个的区别:指代不同、出处不同、侧重点不同。
一、指代不同:
1、个个:一个一个,每一个。
2、各个:每个;所有的那些个;逐个。
二、出处不同:
1、个个:出自毛泽东《对晋绥日报编辑人员的谈话》:“陕北的部队经过整训诉苦以后,战士们的觉悟提高了……个个磨拳擦掌,士气很高,一出马就打了胜仗。”
2、各个:出自《儿女英雄传》第一回:“家人们听见老爷得了外任,各个喜出望外。”
三、侧重点不同:
1、个个:指团体或整体。
2、各个:指具体的每一个。
“个个”造句:
1、登上山顶时,我们个个累得气喘吁吁的。
2、孩子们个个天真活泼,多么可爱!
“各个”造句:
1、围棋比赛时,小华利用诱敌深入,各个击破的战法,瓦解了对方的攻势。
2、校长负责学校各个方面的工作。
常见热点问答
热点搜索
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200
作文大全
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200