Java普通类、抽象类、接口的应用和区别解析

 更新时间:2026年06月03日 09:10:27   作者:就叫_这个吧  
本文详细对比了Java普通类、抽象类和接口的区别,从定义关键字、继承或实现关键字、成员字段和方法等方面进行分析,感兴趣的朋友跟随小编一起看看吧

Java普通类、抽象类、接口的对比

比较项普通类抽象类接口
定义关键字classabstract classinterface
继承或实现关键字extendsextendsimplements
成员字段变量、常量变量、常量常量
构造器既可以定义也可以实例化只能定义,不能实例化既不能定义也不能实例化
成员方法普通方法、静态方法普通方法、静态方法、抽象方法抽象方法、静态方法、默认方法

通过表格进行对比,当根据需求分析,不仅需要创建抽象方法,还需要其他复杂操作,推荐使用抽象类,功能更强大,下面分别展开说说抽象类和接口

抽象类

abstract关键字特点

能够修饰类和成员方法

  1. 修饰的类不能实例化对象
  2. 修饰的成员方法没有方法体

格式

public abstract class 类名 {
成员字段;
// 抽象类中定义构造器,只使用构造器进行值传递
构造器;
成员方法;
// 抽象方法    [ ] 中包含的内容,表示可省略
public abstract 返回值类型 方法名([参数列表]);
}

抽象类中可以定义的内容

接口

接口是按照用户需求封装方法,由具体的实现类去实现

为什么要使用接口

由于Java只支持单继承模式,避免单继承局限性,使用接口

定义格式

public interface 接口名{
接口成员;
}

接口中可以定义的内容

如图在IDEA中,简单创建了一个接口类,并定义了成员,接口中不能定义的成员是报错的

类如何去实现抽象类和接口

先继承父类再实现接口,接口可以实现多个

public [修饰符] class 类名 extends 父类 implements 接口[,接口1,...,接口n] {
    成员字段;
    构造器;
    成员方法;
    重写接口中的所有抽象方法;

到此这篇关于Java普通类、抽象类、接口的应用和区别的文章就介绍到这了,更多相关java普通类、抽象类、接口区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot Admin之应用监控与告警配置方式

    SpringBoot Admin之应用监控与告警配置方式

    这篇文章主要介绍了SpringBoot Admin之应用监控与告警配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • java如何拷贝复制对象和集合问题

    java如何拷贝复制对象和集合问题

    这篇文章主要介绍了java如何拷贝复制对象和集合问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 实战分布式医疗挂号系统之整合Swagger2到通用模块

    实战分布式医疗挂号系统之整合Swagger2到通用模块

    这篇文章主要为大家介绍了实战分布式医疗挂号系统之整合Swagger2到通用模块,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • Java中OSS存储桶未创建导致的XML错误的解决方法

    Java中OSS存储桶未创建导致的XML错误的解决方法

    在Java开发中,集成对象存储服务(OSS)时,开发者常会遇到一个令人困惑的错误提示,This XML file does not appear,此错误看似与XML文件格式或样式表有关,实则源于 OSS存储桶未创建,本文将通过 真实场景还原、逐步排查过程和代码级解决方案,需要的朋友可以参考下
    2025-06-06
  • 从Date到LocalDateTime解析Java JDBC时间类型映射

    从Date到LocalDateTime解析Java JDBC时间类型映射

    在软件开发中,时间处理一直是一个复杂而微妙的问题,时区、夏令时、精度、数据库兼容性等问题时常困扰着开发者,本文将从历史演进的角度,深入探讨JDBC时间类型映射的最佳实践,并解释背后的原理
    2025-12-12
  • springmvc组件中的HandlerMapping解析

    springmvc组件中的HandlerMapping解析

    这篇文章主要介绍了springmvc九大组件中的HandlerMapping解析,HandlerMapping表示的是一个URL与一个Handler(可以简单的理解为Controller中有@RequestMapping注解的方法)之间的映射关系,需要的朋友可以参考下
    2023-09-09
  • Spring2.5.6开发环境搭建图文教程

    Spring2.5.6开发环境搭建图文教程

    这篇文章主要为大家详细介绍了Spring2.5.6开发环境搭建图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • SpringBoot如何使用@Cacheable进行缓存与取值

    SpringBoot如何使用@Cacheable进行缓存与取值

    这篇文章主要介绍了SpringBoot如何使用@Cacheable进行缓存与取值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • java泛型的局限探究及知识点总结

    java泛型的局限探究及知识点总结

    在本篇内容里小编给大家分享的是一篇关于java泛型的局限探究及知识点总结内容,有需要的朋友们可以跟着学习参考下。
    2021-07-07
  • Java 并行数据处理和性能分析

    Java 并行数据处理和性能分析

    这篇文章主要介绍了Java 并行数据处理和性能分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10

最新评论