首页 > 编程语言 >Java抽象类详解:定义、特性与实例化限制(day12)

Java抽象类详解:定义、特性与实例化限制(day12)

时间:2024-03-28 21:59:41浏览次数:33  
标签:Java 子类 abstract day12 抽象类 父类 方法 eat

抽象类

总结一下今天老师上课的内容,前面几节课听得是有点懵,在讲到内存问题,也就是代码在栈、堆、以及方法区是怎么执行的,听得不是很懂,今天讲到抽象类以及重写的机制,似乎开始慢慢懂得了java的底层原理。

父类:
在这里插入图片描述
子类
在这里插入图片描述
上面的Cat类重写父类的eat()方法。
Test
在这里插入图片描述
如果我们将父类的eat方法的修饰语改为private,子类会出现以下情况:
在这里插入图片描述
则子类不可以继承该父类的方法。
如果我们将父类的eat方法体去掉,则会出现以下情况:

在这里插入图片描述
eat方法会出现“Missing method body, or declare abstract”报错,缺少方法体,或声明对象。

此刻,就需要用到我们今天的抽象类。
当我们在前面加abstract抽象类时,会出现提示“Abstract method in non-abstract class”,非抽象类中的抽象方法。
在这里插入图片描述
此时,只需要把我们的Animal类改为抽象类即可,如下:
在这里插入图片描述
但是,Cat子类会出现如下问题:
在这里插入图片描述
Test会出现如下问题:
在这里插入图片描述
因为当一个类被声明为抽象类时,它不能被实例化。
总结抽象类:
1.用abstract修饰的类
2.含有抽象方法的类
3.抽象类中未必含有抽象方法
4.抽象类不能实例化对象

标签:Java,子类,abstract,day12,抽象类,父类,方法,eat
From: https://blog.csdn.net/2302_80471041/article/details/137123942

相关文章

  • JAVA学习笔记
    第一章Java起步入门 #jdk版本JavaSE(J2SE,Java2PlatformStandardEdition,标准版)JavaSE以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。JavaSE包含了支持JavaWeb服务开发的类,并为JavaEE和JavaME提供基础。JavaE......
  • 基于Java的学生体质健康管理系统的设计与实现
    摘 要随着时代的进步,信息化也在逐渐深入融进我们生活的方方面面。其中也给健康管理带来了新的发展方向。通过对学生体质健康管理的研究与分析发现当下的管理系统还不够全面,系统的性能达不到使用者的要求。因此,本文结合Java的优势和流行性,使用Java语言和SpringBoot框架进行构......
  • 【华为OD机试真题】A卷-日志首次上报最多积分(JAVA)
    一、题目描述【华为OD机试真题】A卷-日志首次上报最多积分(JAVA)题目描述:日志采集是运维系统的的核心组件。日志是按行生成,每行记做一条,由采集系统分批上报。如果上报太频繁,会对服务端造成压力;如果上报太晚,会降低用户的体验;如果一次上报的条数太多,会导致超时失败。为此,项......
  • Java案例:考试奖励(利用if..else if实现)
    目录1:题目2:分析3:代码展示1:题目小明快期末考试了,小明爸爸对他说,会根据他不同的考试成绩,送他不同的礼物,假如你可以控制小明的得分,请用程序实现小明到底该获得什么样的礼物,并在控制台输出。2:分析1.键盘录入考试成绩2.由于奖励种类比较多.属于多......
  • JavaScript Fetch API请求和响应
    JavaScriptFetchAPI请求和响应 //加载进场工人不安全行为数据varloadAllWorkerUsafeData=setInterval(function(){consturl=`http://35.98.90.55/api/info?project=23`;fetch(url).then(response=>response.json()).then(data=>{varhandle_c......
  • Java 快递地址 自动识别地址省市区、手机号、姓名,地址自动补全省市区 速度高达1万/秒
    公司每天需处理大量快递地址,需要将一段字符串进行解析出省、市、区、街道、详细地址、手机、姓名。类似淘宝的地址自动识别,并且需要解析到具体的楼栋单元户室。研究了好久,终于写出了一个Java版的解析算法。下载地址:https://download.csdn.net/download/u011024436/89035851算......
  • [附源码]计算机毕业设计保险客户管理系统(JSP+java+springmvc+mysql+MyBatis)
    本项目包含程序+源码+数据库+LW+调试部署环境,文末可获取一份本项目的java源码和数据库参考。项目文件图项目介绍在现代保险行业中,客户管理系统对于提升客户服务水平、增强客户满意度和构建长期客户关系至关重要。随着大数据和人工智能技术的发展,保险公司迫切需要一个先进的......
  • [附源码]计算机毕业设计技术文档管理系统(JSP+java+springmvc+mysql+MyBatis)
    本项目包含程序+源码+数据库+LW+调试部署环境,文末可获取一份本项目的java源码和数据库参考。项目文件图项目介绍技术文档管理系统是企业信息化建设的重要组成部分,它关系到知识的积累、共享和管理效率。随着企业规模的扩大和业务的多样化,传统的文件管理方式已无法满足快速检......
  • Java中的Lambda
    一、Lambda是什么?Lambda表达式是JDK8开始新增的一种语法形式,其作用为简化匿名内部类的代码写法,使用Lambda可以使代码更加简洁格式:(被重写方法的形参)->{被写方法的方法体代码}二、使用步骤原来我们会使用匿名内部类来实现接口,例如这样publicclasstest{publicst......
  • Java接口应用代码示例
    1.概念在Java中接口是一个抽象的数据类型,在接口里面我们会定义类应该遵循的行为规范,并不会去具体实现,只是告诉了接了该接口的类一定要实现些什么方法。接口中可以有常量、方法和嵌套类型的声明(就是在该接口内部定义其他类型,如接口、类、枚举)。一个接口可以被多个类去实现,一......