首页 > 编程语言 >java中的抽象

java中的抽象

时间:2024-04-16 15:13:37浏览次数:18  
标签:java 子类 abstract 抽象 抽象类 重写 方法

java中的抽象

目录

1.抽象类和抽象方法的定义

  1. 抽象类为了把相同但是不确定的东西提取出来,为了方便以后统一使用,并可以具有多种实现方案,目的是为了让子类实现
  2. 没有方法体的方法叫做抽象方法必须用abstract修饰
  3. 抽象类中可以没有抽象方法,但是抽象方法必须在抽象类中,即:普通的类不能有抽象方法
  4. 抽象类也是使用abstract修饰

2.抽象类和抽象方法的特点

  1. 如果一个类继承了抽象类,抽象类中的抽象方法必须全部重写,普通方法可以不用重写
  2. 抽象类可以使用多态,即:抽象类型的变量可以指向其子类的对象
  3. 抽象类不能实例化,即:抽象类不能指向自己类型的对象,不能new对象

3.abstract的注意事项

  1. 抽象类中private和abstract不能同时在一个抽象方法中使用,因为private修饰的方法子类不可见,子类无法重写,而abstract修饰的方法子类必须重写,两者矛盾,因此不能同时使用
  2. 抽象类中static和abstract不能同时在一个抽象方法中使用,因为static是针对于类层面的,abstract是针对于对象层面,两者矛盾
  3. 抽象类中final和abstract不能同时在一个抽象方法中使用,因为,final修饰的方法时禁止方法重写,而abstract是要求方法重写,两者矛盾

4.继承方面的特点

  1. 抽象类不能实例化,但是可以有构造方法,目的:子类实例化时先调用父类的构造器
  2. 子类继承抽象类之后,如果不想实现抽象类中的抽象方法,那么就让该类也变成抽象类,即:抽象类继承抽象类

5.总结

抽象的类或者方法都是用abstract修饰,抽象方法必须方法抽象类,抽象类不一定有抽象方法,继承了有抽象方法的抽象类,必须重写该父类的抽象方法

标签:java,子类,abstract,抽象,抽象类,重写,方法
From: https://www.cnblogs.com/ning23/p/18138193

相关文章

  • Mysql:canal 客户端 client java包依赖 v1.1.5+
     Cao!<dependencies><dependency><groupId>com.alibaba.otter</groupId><artifactId>canal.client</artifactId><version>1.1.7</version></dependency><dependency>......
  • java生成图片和pdf
    FlyingSaucer方案FlyingSaucer开源协议的的坑flying-saucer-core-CorelibraryandJava2Drendering开源协议LGPLflying-saucer-pdf-PDFoutputusingOpenPDF(ex.iText2.x)开元协议MPL-2.0/LGPLflying-saucer-pdf-itext5-PDFoutputusingiText5.x(iTex......
  • Java从单体架构到微服务架构
     Java从单体架构到微服务架构一,单体架构单体架构是一种传统的架构,也被称为单体应用架构,在单体架构中一个应用程序通常会被作为一个单一整体的单元进行运行,它通常由用户交互层,业务逻辑层和数据管理层组成,并且公用同一个数据库 在这种架构中,整个应用程序的代码和功能都集......
  • 【进阶篇】Java 实际开发中积累的几个小技巧(二)
    目录前言六、自定义注解6.1定义注解6.2切面实现6.3业务使用七、抽象类和接口7.1隔离业务层与ORM层7.2隔离子系统的业务实现7.3选择对比文章小结前言笔者目前从事一线Java开发今年是第3个年头了,从0-1的SaaS、PaaS的项目做过,基于多租户的标准化开发项目也做过,项目的PM......
  • JAVA各种系统架构图及其简介
    JAVA各种系统架构图及其简介1.spring架构图 Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring框架的功能可以用在任何J2EE服务器中,大多数......
  • Java架构核心基础知识硬核整理,赶快收藏起来吧
    Java架构核心基础知识硬核整理,赶快收藏起来吧Java架构核心基础lecture:波哥一、数据结构和算法1.数据结构  数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者......
  • JAVA各种系统架构图,终于有人把Java程序员必学知识点全整理出来了
    JAVA各种系统架构图,终于有人把Java程序员必学知识点全整理出来了1.spring架构图Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring框架的功能......
  • Java分布式架构:应用+特点+架构模式
    Java分布式架构是一个复杂的主题,它涉及到许多不同的概念和技术。在本文中,我们将介绍Java分布式架构的应用、特点和架构模式,以便更好地了解该主题。应用:Java分布式架构可以应用于许多不同的场景,例如:电子商务网站:电子商务网站需要处理大量的交易和订单,而Java分布式......
  • day11_我的Java学习笔记 (static_静态成员变量+静态成员方法_工具类、代码块_静态代码
    0.面向对象进阶1.static静态关键字1.1static是什么,static修饰成员变量的用法Java成员变量成员方法Python类(对象)属性类(对象)方法static修饰成员变量的应用:在线人数统计1.2static修饰成员变量的内存原理1.3static修饰成员方法的基本......
  • day10_01_我的Java学习笔记 (JavaSE进阶课程预备)
    JavaSE进阶课程预备1.JavaSE加强课程简介2.IDEA开发模式统一工程,相当于一个小区的院子;模块,是小区的哪一栋;包,是这栋楼的那一单元类,是这个单元的哪一层楼;对象,是这层楼具体的某一户房间。eg:滢水山庄二区--工程9栋--模块4单元--包8楼--类......