抽象类与接口的区别(详解)

基础知识_每日一记(3)

1.什么是抽象类与接口?

1.1抽象类:

定义:凡是类中含有纯虚函数,那么这个类就是抽象类。

特点:1.抽象类中至少存在一个纯虚函数,且可以同时包含其他函数。

2.抽象类不能实例化,不能创建对象(不能new,但是可以super)。

3.抽象类必须被继承且纯虚函数被覆盖后,由子类实例化对象。

4.如果继承抽象类,但没有覆盖纯虚函数,那么子类也将成为抽象类,不能实例化。

1.2接口:

定义:是一个概念,规定一个类必须做什么,但他不管如何具体去做,通常用抽象类去实现;

特点:

(1)没有构造方法,不能实例化;

(2)接口只能继承接口,不能继承类;

(3)接口里没有普通方法,方法全是抽象的;

(4)接口里的方法默认修饰符是public abstract;

(5)接口里的字段全是全局常量,默认修饰符是public static final;

2.抽象类与接口的相同点:

1.都位于继承的顶端,用于被其他实现或者继承;

2.都不能实例化;

3.都包含抽象接口,其子方法都必须覆写这些抽象方法。

3.抽象类与接口的不同点:

1.抽象类为部分方法提供实现,避免子类重复实现这些方法,提供代码重用性;接口只能包含抽象方法;

2.一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口;(接口弥补了java的单继承)。

4.补充:

1.优先选用接口,尽量少用抽象类;

2.需要定义子类的行为,又要为子类提供共性功能时才选用抽象类

#软件开发薪资爆料##我的实习求职记录##晒一晒我的offer##23届找工作求助阵地##牛客在线求职答疑中心#
全部评论

相关推荐

繁华的街道两旁,湿漉漉的下午,两个青涩的脸庞互相张望。宽大卫衣下娇小的她,向我奔来。不约而同的卫衣,斯文的半框眼镜掩饰着一个穷臭屌丝气息。这是我和我牛爱网第一死忠粉兼专属女嘉宾最初的见面。火速恋爱,但是没有所谓的快节奏,相识半年,还是一样的热恋。吃着肉夹馍坐过西安的小三轮洱海边自行车的气球胖吃着她最喜欢的酸酸水果和小乳扇在南山某店爷爷穿孙子衣服,摸肥猫就算我在忙也要抽出时间陪她去吃他喜欢的漂亮饭生活总是平凡,但平凡不平淡还记得见面第一件事儿:“我去上个厕所。”现在早上第一件事儿:“拉*”第一次上我车的她:“我可以坐副驾吗?”现在的她:“老子把jio翘到上面得得挡到你后视镜。”这小孩,虽然花了我...
Stan_蹒跚者:确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了
点赞 评论 收藏
分享
04-25 18:13
五邑大学 Java
后来123321:大二两段实习太厉害了,我现在大二连面试都没有
点赞 评论 收藏
分享
05-12 13:14
已编辑
中山大学 算法工程师
点赞 评论 收藏
分享
评论
1
4
分享

创作者周榜

更多
牛客网
牛客企业服务