抽象类和接口的区别和使用(抽象类和接口的区别)
哈喽,大家好~~~我是小编田甜,关于抽象类和接口的区别和使用,抽象类和接口的区别这个很多人还不知道,那么现在让田甜带着大家一起来看看吧!
一、两者相同点不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象。
2、抽象类里的抽象方法必须全部被子类所实现,子类不能全部实现父类抽象方法,那么该子类还只能是抽象类。
一个类实现接口的时候,如不能全部实现接口方法,那么该类也只能为抽象类。
二、两者不同点 默认的方法实现抽象类可以有默认的方法实现;接口,Java8规定可以为接口提供默认实现的方法并且不用强。
2、实现制子类来重写子类使用extends关键字来继承抽象类。
如果子类不是抽象类的话,它需要重写抽象类中的抽象方法;接口子类使用关键字implements 来实现接口,它需要重写接口中没有默认。
3、构造器抽象类可以有构造器,接口不能有构造器。
4、与正常Java类的区别除了不能实例化抽象类之外,和普通Java类没有任何区别;接口是完全不同的类型外。
5、访问修饰符抽象方法可有public.protected和default、abstract修饰符。
不能用privatestatic.synchronize、 native 修饰。
接口属性默认修饰符是publicstatic final (必须赋初值) ,方法默认修饰符是publicabstract. Java8 开始出现静态方法,多加static关键字。
6、main方法并且可以运行它;接口没有main方法,因此不能运行它。
7、多继承抽象类可以继承一个类和实现多个接口;接口只可以继承一个或多个接口。
抽象类的运用意义在面向对象方法中,抽象类主要用来进行类型隐藏。
构造出一个固定的一组行为的抽象描述,但是这组行为却能够有任意个可能的具体实现方式。
这个抽象描述就是抽象类,而这一组任意个可能的具体实现则表现为所有可能的派生类。
模块可以操作一个抽象体。
由于模块依赖于一个固定的抽象体,因此它可以是不允许修改的;同时,通过从这个抽象体派生,也可扩展此模块的行为功能。
为了能够实现面向对象设计的一个最核心的原则OCP(Open-Closed Principle),抽象类是其中的关键所在。
本文分享完毕,希望对大家有所帮助哦。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
【金枝玉叶剧情简介】《金枝玉叶》是一部以民国时期为背景的都市情感剧,讲述了出身名门的女主角在家族、爱情...浏览全文>>
-
【金枝玉叶花语是什么】“金枝玉叶”是一种常见的观赏植物,因其叶片厚实、色泽翠绿、形态美观而广受喜爱。在...浏览全文>>
-
【金枝玉叶繁殖方法】金枝玉叶,学名“Crassula portulacea”,是景天科的一种多肉植物,因其叶片肥厚、色泽...浏览全文>>
-
【金针菜怎么做好吃】金针菜,又称黄花菜,是一种营养丰富、口感独特的食材,常用于炖汤、炒菜或凉拌。虽然金...浏览全文>>
-
【金针菜和黄花菜是一种吗】在日常生活中,很多人会将“金针菜”和“黄花菜”混为一谈,认为它们是同一种植物...浏览全文>>
-
【金张掖1706玉米品种介绍】金张掖1706是一款由甘肃张掖地区选育的优质玉米品种,具有适应性强、产量高、抗病...浏览全文>>
-
【金盏花面霜的功效与作用】金盏花面霜是一种以金盏花为主要成分的护肤产品,因其天然温和的特性,被广泛用于...浏览全文>>
-
【金寨灵山寺在哪】金寨县位于安徽省六安市,是大别山腹地的一个历史悠久、风景秀丽的地方。在金寨县境内,有...浏览全文>>
-
【金灶电茶壶维修点】金灶(JinZao)作为国内知名的厨电品牌,其电茶壶产品在市场上广受消费者欢迎。然而,随...浏览全文>>
-
【金桔冰糖制作方法】金桔冰糖是一种传统的小吃,口感清甜、酸爽,具有润肺止咳的功效。它不仅适合日常食用,...浏览全文>>