毕设学习第三天之Java的特性

news/2025/1/9 21:51:06/文章来源:https://www.cnblogs.com/liyiyang/p/18660637

extends(继承)

继承就是一个类继承另一个类的变量和方法,被继承的类为父类,继承的类为子类,java中的继承机制为单继承,即一个子类只能继承一个父类,但一个父类可被多个子类继承,子类无法访问父类的私有成员

子类可以继承和重写父类的成员方法,但注意子类无法继承父类的构造方法,同时子类无法重写父类的私有和静态方法,java中要求子类重写的方法权限要大于父类的方法权限,public>protected>默认>private,子类在重写时要保证参数和方法名完全和父类一致,返回值为父类返回值的同类或者子类

继承中的两个关键字super和this

super指代父类,this指代当前类对象

子类在初始化时要先初始化父类使用super调用父类的构造函数实现

父类 对象 = new 子类

口诀成员变量看等号左边类,成员方法看右边类,即对象调用的方法优先为等号右边子类的方法,而对象访问的变量则是优先父类的默认变量值

如果我们想要重写父类的私有成员可使用super调用父类set和get方法或许有参构造

 

abstract(抽象)

抽象类无法实例化即无对象,有抽象方法的类都是抽象类,但是抽象类里面不一定有抽象方法,抽象方法没有方法体,子类继承必须得重写抽象方法,否则子类也为抽象类,抽象类可以有成员变量,成员方法和构造函数,抽象类的构造函数

 

interface(接口)

接口是一个引用数据类型,实现由关键字implements,接口的构成如下

jdk7以及之前
抽象方法: public abstract -> 即使不写public abstract,默认也有
成员变量:public static final 数据类型 变量名 = 值->即使不写public static final,默认也有
final是最终的,被final修饰的变量不能二次赋值,所以我们一般将final修饰的变量视为常量


jdk8
默认方法:public default 返回值类型 方法名(形參){}
静态方法:public static 返回值类型 方法名(形参){}

接口中可包含抽象方法,默认方法和静态方法,其中默认方法和静态方法可有方法体,成员变量需要final修饰,不同于继承,一个类可以实现多个接口,一个接口也可以被多个类实现,且若多个接口中有相同的方法,子类只需实现一次

多态

父类 对象 = new 子类,父类一般为抽象类或者接口,通过不同的的子类,父类会调用相同的方法不同的实现这就是多态,父类对象中方法随其赋值的子类改变而改变,但父类无法直接调用子类特有的方法,口诀也是变量成员看左,方法成员看右

多态的好处是增加了程序的扩展性,例如对于接电话这个方法,不同的人的有不同的动作,有人会接听,有人会挂断,有人会挂机等待,如果不采用多态需要增加多个方法

继承只能单继承,接口实现可以多实现,多态为父类引用子类对象,必须有方法的重写

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

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

相关文章

浅谈STC单片机看门狗的作用和使用成都控制器开发

有的控制器的运行环境是很复杂的,比如可能突然来个电压,突然来个浪涌,周围存在的强电磁场也可能交替对控制器造成冲击,也有可能外部器件出现错误很久不响应,这样就有可能让单片机的程序跑飞,或者进入死循环出不来,那这就完蛋了。怎么办呢? 一个简单的办法就是使用单片机…

【云计算】银行数据中心私有云平台2.0建设(来自真实案例,很有启发性)

【导读】某行数据中心私有云平台一期建设后投入使用。但在使用过程中遇到了诸多实际问题:审批流程不贴合实际情况、自动化程度较低、云平台无法与CMDB联动、裸金属纳管等。本文对问题根源进行了探讨,并分享了通过对资源管理模式、审批流程、资源部署、微服务部署等方面进行优…

markdown学习记录

markdown学习 标题 标题用“#” 字体 这是加粗(两个星号) 这是倾斜(一个星号) 加粗+倾斜(三个星号) 这是删除线 (两个~~) 引用大于号是引用分割线(“---”或“***”) 插入图片 !+[名称]+(URL)超链接 [地址名]+(网址) 我的博客地址 列表 有序用数字,无序用“-”号A…

【实用技巧】【探讨】Java 中比较两个对象的差异

1 前言 大家平时写业务代码的时候,应该能感知到哪些是基础配置数据,哪些是实例数据。比如营销里的活动信息、促销信息就属于配置型数据,基于活动带来的订单参与活动信息属于实例数据。比如一些规则信息、流程信息等类似一种版本的概念。那么版本跟版本之间的差异、以及创建…

主机与虚拟机互ping不通的解决办法

一、主机ping不通虚拟机,但虚拟机可以ping主机 解决办法:二、虚拟机ping不通主机,但主机可以ping虚拟机 解决办法: 这里说的第一点我不知道,我是虚拟机可以ping通百度,之前虚拟机有过相关配置 我这里主要是win11电脑网络连接这里开启防火墙下面简单的说明下Vmware的网络连…

Win32汇编学习笔记09.SEH和反调试

Win32汇编学习笔记09.SEH和反调试-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区 - BpSend.net SEH - structed exception handler 结构化异常处理 跟筛选一样都是用来处理异常的,但不同的是 筛选器是整个进程最终处理异常的函数,但无法做到比较精细的去处理异常(例如处理…

【Windows攻防】Windows注册表 IFEO注入

介绍 IFEO 注入攻击是一种基于注册表的攻击技术,几乎可以保证以登录用户甚至管理员/系统用户的身份执行代码。在任何你可以想象的用例中,如果你想要将你的有效载荷绑定到 Windows 平台上二进制文件的“启动”,IFEO(图像文件执行选项)可能是你最好的选择。这是一种开发人员…

[Java] 计算Java对象大小

序在Java应用程序的性能优化场景中,时常需要考虑Java对象的大小,以便评估后,进一步提出优化方案:占用内存的大小。(比如 本地内存) 对象数据在网络传输中占用的网络带宽 对象数据在存储时占用的磁盘空间 ...概述 对象大小如何计算对象大小包括俩部分的内容,对象头和对象…

并行前缀(Parallel Prefix)加法器

并行前缀(Parallel Prefix)加法器 并行前缀加法器的基本介绍 二进制加法器是目前数字计算单元中的重要模块,基础的加法器架构包括行波进位加法器(Ripple Carry Adder),超前进位加法器(Carry Look-Ahead Adder),进位选择加法器(Carry Select Adder)等。加法器的进位传…

科技风?写实风?教你设置多风格三维地图

概述 三维地图通过高度、深度、立体感等表现形式,能够真实还原地形地貌、城市建筑和空间结构。相比二维地图,它能够更清晰地展示复杂的地理数据,帮助用户快速理解空间关系,如地形起伏、建筑高度等。在实际应用中,我们可以将不同风格的三维地图作为项目的主体元素进行展示,…

【模拟电子技术】03-PN与二极管的特性

【模拟电子技术】03-PN与二极管的特性上节中有提到对PN结施加反向电压时,会使得PN结所形成的势垒增加,阻止多子到另一边。在掺杂浓度比较低的时候,外加电场加强,中间的耗尽层会加长,变成了一个粒子加速器,自由电子进去后不断加速。直到某一电场强度时,粒子加速足够大的时…

NocoBase 本周更新汇总:支持大规模数据量的导入和导出

本周更新包括:支持大规模数据量的导入和导出等。汇总一周产品更新日志,最新发布可以前往我们的博客查看。 NocoBase 目前更新包括的版本更新包括三个分支:main ,next和 develop。main :截止目前最稳定的版本,推荐安装此版本。 next:包含即将发布的新功能,经过初步测试的…