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

抽象类

总结一下今天老师上课的内容,前面几节课听得是有点懵,在讲到内存问题,也就是代码在栈、堆、以及方法区是怎么执行的,听得不是很懂,今天讲到抽象类以及重写的机制,似乎开始慢慢懂得了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.抽象类不能实例化对象

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/778484.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux应用实战之网络服务器(三)CSS介绍

0、前言 准备做一个Linux网络服务器应用实战,通过网页和运行在Linux下的服务器程序通信,这是第三篇,介绍一下CSS,优化上一篇文章中制作的HTML页面。 1、CSS常用语法 CSS(层叠样式表)是用于描述HTML或XML…

FPGA 图像边缘检测(Canny算子)

1 顶层代码 timescale 1ns / 1ps //边缘检测二阶微分算子:canny算子module image_canny_edge_detect (input clk,input reset, //复位高电平有效input [10:0] img_width,input [ 9:0] img_height,input [ 7:0] low_threshold,input [ 7:0] high_threshold,input va…

【案例·增】一条insert语句批量插入多条记录

问题描述: 往MySQL中的数据库表中批量插入多条记录,可以使用 SQL 中的 ((), ()…)来处理 案例: INSERT INTO items(name,city,price,number,picture) VALUES(耐克运动鞋,广州,500,1000,003.jpg),(耐克运动鞋2,广州2,500,1000,002.jpg);规则…

基于java+springboot+vue实现的宠物领养救助平台(文末源码+Lw+ppt)23-363

摘 要 宠物领养救助平台采用B/S架构,数据库是MySQL。网站的搭建与开发采用了先进的java进行编写,使用了springboot框架。该系统从两个对象:由管理员和用户来对系统进行设计构建。主要功能包括:个人信息修改,对用户、…

【Redis】redis主从复制

概述 常见的Redis高可用的方案包括持久化、主从复制(及读写分离)、哨兵和集群。其中持久化侧重解决的是Redis数据的单机备份问题(从内存到硬盘的备份);而主从复制则侧重解决数据的多机热备。此外,主从复制…

提高三维模型数据的立体裁剪技术

提高三维模型数据的立体裁剪技术 立体裁剪是三维模型处理中的重要步骤,可以用于去除模型中不需要的部分,提高模型的质量和准确性。本文将介绍几种常见的立体裁剪技术,包括边界裁剪、体素裁剪和几何裁剪,并分析它们的优缺点和适用场…

新朋友+1!拓数派 PieCloudDB Database 与 OpenCloudOS、TencentOS Server 完成产品兼容互认证

近日,拓数派旗下产品云原生虚拟数仓 PieCloudDB Database 与开源操作系统 OpenCloudOS 以及腾讯云旗下操作系统 TencentOS Server 完成了产品兼容性互认证。测试期间,双方产品运行稳定,兼容性良好,功能正常。 随着“数据要素x”三…

交互式RDP服务启停及修改端口的bat脚本

1、执行效果 2、脚本代码 echo off chcp 65001REM 检查是否有管理员权限 net session >nul 2>&1 if %errorlevel% neq 0 (echo 请右键【以管理员身份运行】此脚本。pauseexit /b )REM 提示是否开启或关闭RDP服务 set /p enable_disable是否开启或关闭RDP远程桌面服务…

生成的短链接/二维码,如何更改跳转网址?C1N 短网址一键解决

在当今的营销推广领域,短链接的运用已不可或缺。它能直接将网页、产品或服务呈现在潜在客户或用户面前,提升知名度与曝光率。 然而,使用短链接时也会遭遇一些问题,最常见的便是推广链接已发出,却发现有误或需修改&…

CC工具箱使用指南:【经度转3度带和6度带】

一、简介 在规划工作中,经常会遇到不清楚规划用地所在的3度带或6度带带号的情况。 其实只要知道所在地的经度即可计算出带号,具体计算方法百度可知: 三度带和六度带1.高斯投影6度带:自0子午线起每隔经差6自西向东分带&#xff…

神策数据参与制定首份 SDK 网络安全国家标准

国家市场监督管理总局、国家标准化管理委员会发布中华人民共和国国家标准公告(2023 年第 13 号),全国信息安全标准化技术委员会归口的 3 项国家标准正式发布。其中,首份 SDK 国家标准《信息安全技术 移动互联网应用程序&#xff0…

2014年认证杯SPSSPRO杯数学建模B题(第二阶段)位图的处理算法全过程文档及程序

2014年认证杯SPSSPRO杯数学建模 B题 位图的处理算法 原题再现: 图形(或图像)在计算机里主要有两种存储和表示方法。矢量图是使用点、直线或多边形等基于数学方程的几何对象来描述图形,位图则使用像素来描述图像。一般来说&#…

某某消消乐增加步数漏洞分析

一、漏洞简介 1) 漏洞所属游戏名及基本介绍:某某消消乐,三消游戏,类似爱消除。 2) 漏洞对应游戏版本及平台:某某消消乐Android 1.22.22。 3) 漏洞功能:增加游戏步数。 4&#xf…

【MATLAB源码-第22期】基于matlab的手动实现的(未调用内置函数)CRC循环码编码译码仿真。

操作环境: MATLAB 2022a 1、算法描述 循环码是线性分组码的一种,所以它具有线性分组码的一般特性,此外还具有循环性。循环码的编码和解码设备都不太复杂,且检(纠)错能力强。它不但可以检测随机的错误,还可以检错突发…

RPA使用Native Messaging协议实现浏览器自动化

RPA 即机器人流程自动化,是一种利用软件机器人或人工智能来自动化业务流程中规则性、重复性任务的技术。RPA 技术可以模拟和执行人类在计算机上的交互操作,从而实现自动化处理数据、处理交易、触发通知等任务。帮助企业或个人实现业务流程的自动化和优化…

【绝对有用】“利用ChatGPT赋能学术写作:技巧、方法与创新策略“

为了帮助读者利用ChatGPT进行学术写作,我以一种引人入胜的信息图表形式,概括了以下步骤和技巧: 使用英文提问:用英文提出问题,可以获得更准确的回答。生成大纲:通过创建文章大纲,为写作提供清晰…

leetcode热题100.柱状图中最大的矩形

Problem: 84. 柱状图中最大的矩形 文章目录 题目思路复杂度Code 题目 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: 输入:hei…

按需自动加载 Element Plus 实测

按需加载是一种优化策略,可以提高前端应用程序的性能、用户体验和可维护性。在使用 Element UI 或其他大型 UI 组件库时,通过按需加载可以最大程度地发挥其优势,确保应用程序的性能和可扩展性得到有效的管理;其优势有:…

MySQL安装环境配置,工具(超详细讲解)

一、什么是MySQL MySQL与SQL server一样都是关系型数据库管理系统,起初它是由瑞典的MySQL AB公司开发的,该公司于2008年被Sun公司收购。之后,Sun公司在2009年被Oracle公司收购。现在MySQL是Oracle公司的重要产品之一。 1、MySQL版本 针对不…

python实战之基础篇(二)

一. 定义函数 二. 调用函数 1. 使用位置参数调用函数 2. 使用关键字参数调用函数 三. 参数的默认值 四. 可变参数 1. 基于元组的可变参数 2. 基于字典的可变参数 五. 函数中变量的作用域 global 可以将局部变量提升为全局变量 六. 过滤函数filter() 七. 映射函数map() 八. la…