java 中接口和抽象父类有什么区别

接口和抽象父类的区别是:1、定义关键字不同;2、继承或实现的关键字不同;3、子类扩展的数量不同;4、属性访问控制符不同;5、方法控制符不同;6、方法实现不同;7、静态代码块使用不同。接口使用关键字interface 来定义。抽象类使用关键字abstract来定义。

java 中接口和抽象父类有什么区别-Worktile社区

1、定义关键字不同

接口使用关键字 interface 来定义。 抽象类使用关键字 abstract 来定义。类是对对象的抽象,可以把抽象类理解为把类当作对象,抽象成的类叫做抽象类。而接口只是一个行为的规范或规定,微软的自定义接口总是后带able字段,证明其是表述一类类“我能做。。。”.抽象类更多的是定义在一系列紧密相关的类间,而接口大多数是关系疏松但都实现某一功能的类中。

2、继承或实现的关键字不同

接口使用 implements 关键字定义其具体实现。 抽象类使用 extends 关键字实现继承。接口基本上不具备继承的任何具体特点,它仅仅承诺了能够调用的方法。

3、子类扩展的数量不同

在 Java 语言中,一个类只能继承一个父类(单继承),但可以实现多个接口。接口的实现类可以有多个,而抽象类的子类,只能继承一个抽象类,继承多个抽象类就会报错。

4、属性访问控制符不同

接口中属性的访问控制符只能是 public,抽象类中的属性访问控制符无限制,可为任意控制符。

5、方法控制符不同

接口中方法的默认控制符是 public,并且不能定义为其他控制符,抽象类中的方法控制符无限制,其中抽象方法不能使用 private 修饰。

6、方法实现不同

接口中普通方法不能有具体的方法实现,在 JDK 8 之后 static 和 default 方法必须有方法实现,抽象类中普通方法可以有方法实现,抽象方法不能有方法实现。抽象类实现的具体方法默认为虚的,但实现接口的类中的接口方法却默认为非虚的,当然您也可以声明为虚的。

7、静态代码块使用不同

接口中不能使用静态代码块,抽象类中可以使用静态代码块。

延伸阅读:

什么是父类?

在软件术语中,被继承的类一般称为“超类”,也有叫做父类。是继承中非常重要的概念,它和子类一起形象地描述了继承的层次关系。面向对象方法开发出的软件具有较强的可重用性,重用依存于超类设计,没有超类的对象系统不能物尽其用。超类设计的好与不好,首先看其内部重用率的高低,内部重用率高,必然外部重用率也高。

被继承的类一般称为“超类”或“父类”,继承的类称为“子类”。当子类继承超类时,不必写出全部的实例变量和方法,只需声明该类继承了的已定义的超类的实例变量和方法即可。超类、子类是继承中非常重要的概念,它们形象地描述了继承的层次关系。继承节省了定义新类的大量工作,可以方便地重用代码。例如,把汽车作为父类,当创建汽车的子类轿车时,品牌、价格、较高时速等属性会自动地被定义,调用刹车方法时会自动调用在汽车类中定义的刹车方法。但一个子类不必非要使用继承下来的属性和方法,一个子类可以选择覆盖已有的属性和方法,或添加新的属性和方法。

文章标题:java 中接口和抽象父类有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37936

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月13日 上午2:44
下一篇 2023年2月13日 上午2:46

相关推荐

  • 安科生物oa系统

    标题:安科生物OA系统 安科生物OA系统是一套集成了1、流程自动化、2、信息管理、3、协同办公功能的企业管理软件。该系统通过信息技术实现了企业内部流程的电子化、标准化与效率化,提高了工作效率与决策质量。特别是在流程自动化方面,它通过引入先进的工作流引擎,精细地管理着公司各种业务流程,从请假审批到财务…

    2024年1月15日
    22500
  • 大型项目部打印机如何管理

    大型项目部打印机管理是一项综合性的工作,它涉及到打印机的采购、配置、日常维护、耗材管理、文件安全以及成本控制等一系列工作。成功的管理策略包括:制定明确的设备管理规范、实施集中采购与分散使用策略、定期维护与及时更新、设置权限管理来确保数据安全。这些管理方式的综合运用不仅可以提高打印机的使用效率,还能有…

    2024年4月11日
    4300
  • devops是什么图文

    ### DEVOPS是什么? 进入技术领域的重要一环、两个核心要义:一是文化转型,二是流程自动化。在其中,文化转型构成了基石,流程自动化则作为推进力量,共同推动着DevOps的发展与应用。特别是文化转型,它打破了传统开发与运维团队之间的壁垒,促进团队间的合作与沟通,这是DevOps成功实施的关键。 …

    2024年3月26日
    6700
  • 为什么要建立知识库

    原因有:一、提高知识管理效率;二、促进知识共享和协作;三、改善员工培训和学习;四、提高客户满意度;五、提高企业竞争力。企业面临着大量的知识资料,这些资料的数量庞大、种类繁多,如果不进行有效的管理和利用,就会造成信息孤岛和信息浪费。 一、提高知识管理效率 企业面临着大量的知识资料,包括各种文档、报告、…

    2023年4月27日
    57900
  • javaweb系统在高并发下怎样实现订单号生成少数

    javaweb系统在高并发下可以用以下方法实现订单号生成少数:1、UUID;2、数据库自增;3、雪花算法;4、分布式组件。UUID 是Universally Unique Indentifier的缩写,翻译为通用少数识别码,UUID 的标准形式包含 32 个 16 进制数字,以连字号分为五段。 1、…

    2023年2月8日
    1.2K00
  • 微服务和数据库是什么关系

    微服务和数据库有密切的联系,但这种联系很多时候容易被忽视或误解。微服务作为一种架构模式,旨在使应用程序易于构建和维护。而数据库则为这些微服务提供了必要的数据支持。本文探讨微服务与数据库之间的关系,特别是如何选择数据库类型、数据一致性与可用性的权衡,以及如何避免常见的设计错误。 1. 微服务与数据库的…

    2023年7月13日
    45400
  • 制定OKR时,如何确保目标与公司愿景相符

    确定OKR时,以确保目标与公司愿景相匹配,须遵循特定步骤:1、定义公司愿景; 2、分解愿景到可操作的目标; 3、确立关键结果以衡量进展; 4、沟通并获取团队的认可; 5、追踪进度与复盘。通过定义公司的长远目标,将其切分为具体的、可衡量的小目标,并确保这些目标能够被团队理解并执行,同时忠诚于原始的愿景…

    2023年12月8日
    24800
  • devops需要什么条件

    开启DevOps之旅所需关键条件:在探索将DevOps文化、实践和工具集成到组织中的过程中,几个不可或缺的条件浮现出来,包括:1、组织文化的转变、2、跨功能团队的合作、3、自动化工具链的构建、4、持续学习与创新的态度。其中,组织文化的转变尤其关键,它要求企业摒弃传统的瀑布式工作流程,拥抱以敏捷和协作…

    2024年3月26日
    5900
  • 预算任务发布平台有哪些

    预算任务发布平台有:1、Upwork;2、Fiverr;3、Freelancer;4、Toptal;5、Guru;6、Zhubajie。其中,每个平台都有其特色和服务焦点,例如,Upwork和Freelancer广泛覆盖多种类型的预算任务,而Toptal则专注于拔尖的自由职业者。 1、Upwork …

    2023年7月11日
    93000
  • devops对开发有什么作用

    开门见山地提出,DevOps对开发的功效归纳至1、提升开发与运维团队间协作效率、2、缩短产品从开发到部署的周期、3、加强自动化流程以提升整体开发质量、4、营造不断学习与改进的技术文化氛围。特别地,其中缩短产品从开发到部署的周期对企业竞争力提升尤为关键。这意味着企业能够快速响应市场变化和客户要求,加快…

    2024年3月26日
    5700

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部