9.java——(杂例)组合,代理,向上转型static,fianl,关键字(有道云笔记复制粘贴,大家整体性的把握)

组合——内部有类(心中有对象!!!)(足球在这里插入图片描述

和足球运动员梅西和脚下的足球一样)

has和is的区别,has是组合,是有,持有的意思;is是继承,是属于什么一类的意思

has是梅西踢着足球
is是梅西是足球运动员中的一员

组合其实不难理解,就是将对象引用置于新类中即可。组合也是—种提高类的复用性的—种方式。如果 你想让类具有更多的扩展功能,你需要记住—句话多用组合,少用继承 。
组合

1. public  class  SoccerPlayer  {    private  String  name;         private  Soccer  soccer;(调用其他类,创建对象)   }public  class  Soccer  {  private  String  soccerName;  }

继承

2. public  class  SoccerPlayer  {    private  String  name;         private  Soccer  soccer;(调用其他类,创建对象)   }public class Meixi extends SoccerPlayer{private double weight;private double height;}

代码中 SoccerPlayer 引用了 Soccer 类,通过引用 Soccer 类,来达到调用 soccer 中的属性和方法。
组合和继承是有区别的,它们的主要区别如下。

在这里插入图片描述

关于继承和组合勃优勃劣的争论没有结果,只要发挥各自的长处和优点即可, —般情况下,组合和继承 也是—对可以连用的好兄弟。

代理(这个没什么好讲的,)

除了继承和组合外,另外—种值得探讨的关系模型称为 代理 。代理的大致描述是, A 想要调用 B 类 的方法, A 不直接调用, A 会在自己的类中创建—个 B 对象的代理,再由代理调用 B 的方法。例如如 下代码

讲个故事吧——AC是装置Device和装置控制器,B是目的地Destination
就是从前一个装置AC,想做一件事,B中里面有一件利器,神器——todo。这件神器可以一下子就可以把活干完!!芜湖!!
AC又没这个条件没这个方法,自己又懒。只能把B中的神器派过来打印这句话,

(因为类都是public通用的,我们讲究属性对内私有,方法对外公有,所以类中的方法大多数都是公开共享的。类自己本身也可以再别的类中开辟对象,所以就是这个道理)

在这里插入图片描述

向上转型

向上转型代表了父类与子类之间的关系,其实父类和子类之间不仅仅有向上转型,还有向下转型,它们 的转型后的范围不一样
向上转型 :通过子类对象(小范围)转化为父类对象(大范围),这种转换是自动完成的,不用强制。都成功
向下转型 : 通过父类对象(大范围)实例化子类对象(小范围),这种转换不是自动完成的,需要强制 指定。大概率失败

static

static 是 Java 中的关键字,它的意思是 静态的 , static 可以用来修饰成员变量和方法, static 用在没 有创建对象的情况下调用 方法/变量。
用 static 声明的成员变量为静态成员变量,也成为类变量。类变量的生命周期和类相同,在整个应 用程序执行期间都有效。

使用 static 修饰的方法称为静态方法,静态方法能够直接使用类名.方法名 进行调用。由于静态方 法不依赖于任何对象就可以直接访问,因此对于静态方法来说,是没有 this 关键字的,实例变量 都会有 this 关键字。在静态方法中不能访问类的非静态成员变量和非静态方法,

在这里插入图片描述

static 除了修饰属性和方法外,还有 能。

在这里插入图片描述

的功能,可用于类的初始化操作。进而提升程序的性

由于静态代码块随着类的加载而执行,因此,很多时候会将只需要进行一次的初始化操作放在 static 代 码块中进行。

final——你是我的final,宝子们❥(^_-),final在这里插入图片描述

final 的意思是最后的、最终的,它可以修饰类、属性和方法。
final 修饰类时,表明这个类不能被继承。 final 类中的成员变量可以根据需要设为 final,但是要注 意 final 类中的所有成员方法都会被隐式地指定为 final 方法。
final 修饰方法时,表明这个方法不能被任何子类重写,因此,如果只有在想明确禁止该方法在子 类中被覆盖的情况下才将方法设置为 final。
final 修饰变量分为两种情况, 一种是修饰基本数据类型,表示数据类型的值不能被修改; 一种是 修饰引用类型,表示对其初始化之后便不能再让其指向另一个对象。

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

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

相关文章

C++八股学习心得.3

1.C 数组 C 支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个…

实时计算大作业kafka+zookeeper+storm+dataV

第一章 总体需求 1.1.课题背景 近年来,大数据称为热门词汇,大数据分析随着互联网技术的发展愈加深入电商营销之 中,越来越多的电商企业利用大数据分析技术,利用信息化对产业发展营销方向进行确定, 对电子商务行…

双碳管理系统任务需求分析(第10套)

需求规格说明书 一、引言 (一)项目背景 编写本需求规格说明书的目的是为了详细呈现碳足迹产品需求和系统的功能描述,以进一步定制应用软件系统开发的细节问题,便于与项目开发协调工作。本文档面向的读者主要是项目委托单位的管…

git rebase(变基)应用场景

文章目录 git rebase(变基)应用场景1.git rebase -i HEAD~3 git rebase(变基)应用场景 使得提交记录变得简洁 现在我们模拟我们有多次提交记录,本地仓库有三条提交 整合成一条提交记录 1.git rebase -i HEAD~3 提交记录合并 HEAD~3合并三条记录 执行之后 然后把…

事实就是这么残酷,分享一个案例投资者是怎么一步步失败

都说交易市场要学会斗智斗勇,但fpmarkets澳福提醒交易者要始终记住,买的没有卖的精,下面就分享一个案例,让各位投资者知道现实就是这么残酷,一些无良的资本是怎么一步步让投资者失败的。 当在整个交易市场中渐渐地&am…

清风数学建模笔记-时间序列分析

内容:时间预测分析 一.时间序列 1.时点时间序列 2.时期时间序列:可相加 二.时间趋势分解 1.季节趋势 拓展:百度指数: 2.循环变动趋势(和季节很像但是是以年为单位) 3.不规则变动趋势(像扰…

《深入理解C++11:C++11新特性解析与应用》笔记八

第八章 融入实际应用 8.1 对齐支持 8.1.1 数据对齐 c可以通过sizeof查询数据的长度,但是没有对对齐方式有关的查询或者设定进行标准化。c11标准定义的alignof函数可以查看数据的对齐方式。 现在的计算机通常会支持许多向量指令,4组8字节的浮点数据&a…

离线Vscode 安装完成后 添加到右键菜单

复制下面代码,修改文件后缀名为:reg Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\VSCode] "Open with Code" "Icon""D:\\_Porgram_IT\\VsCode\\Code.exe"[HKEY_CLASSES_ROOT\*\shell\VSCode\comman…

AI:110-基于深度学习的药物分子结构生成与预测

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的关键代码,详细讲解供…

填充点云孔洞(较大的洞)halcon算法

前言 很多时候,一些小洞可以通过平滑算法,或者三角化算法的参数调整,即可对较小的孔洞进行填充,但是较大的洞却很难通过上面的算法进行填充。 下面介绍一种填充孔洞的思路: 步骤一:对点云进行滤波处理,找到孔洞所在平面 本文为了更直观的进行讲解,去掉了去除噪声和…

数读中国这十年:研发经费超3万亿元 创新引领显成效

摘要:本文转载自新华社。 新华社北京12月22日电 题:研发经费超3万亿元 创新引领显成效 新华社记者 陈炜伟、潘德鑫 这是2023年6月11日在青海省海西蒙古族藏族自治州格尔木市拍摄的一座光热电站(无人机照片)。新华社记者 张宏…

Linux高级玩家必备sos_report-尚文网络xUP楠哥

进Q群11372462领取专属报名福利! # 什么是sos sos 是红帽技术支持工程师在执行任务时的常见起点分析 RHEL 系统的服务请求。 该实用程序提供了一种标准化的方式来收集红帽支持工程师可以在整个调查过程中参考的诊断信息支持案例中报告的问题。 使用 sos 报告实用程序有助于确…

亚马逊站内广告位置在哪设置?怎么设置广告位置?-站斧浏览器

亚马逊站内广告位置在哪设置? 亚马逊提供了多种广告类型,包括: Sponsored Products(赞助产品):在搜索结果和商品详情页中展示。 Sponsored Brands(赞助品牌):在搜索结…

Fast R-CNN

Fast R-CNN算法流程 对比与R-CNN其在第二步时并没有将所有的候选区域进行逐个的CNN特征提取,而是直接将整个图片进行一次CNN特征提取,让后再将候选区映射到feature map上。可想而知速度得到了提升。这里的ROI pooling层缩放到7x7就是将候选区域对应的特征…

通过聚道云软件连接器实现销帮帮软件与i人事软件的智能对接

客户介绍 某软件行业公司是一家专业从事软件技术服务、软件开发、应用解决方案、业务流程优化、专业服务的高科技企业。公司拥有一支经验丰富、技术精湛的服务团队,具备多年的软件开发和应用解决方案经验。他们不断追求技术的创新和进步,以满足客户不断…

Sectigo与Geotrust ov多域名证书的区别

Sectigo和Geotrust都是比较知名的CA认证机构。其中,Sectigo原名Comodo,在2018年整合SSL证书业务,改名为Sectigo,旗下的SSL证书产品根证书也变为Sectigo。Geotrust则是另一个备受信任的数字证书品牌,现在是Digicert旗下…

C语言注意点(4)

1、void *a是什么意思 答&#xff1a;泛型指针&#xff0c;但不规定其类型(就是地址确定&#xff0c;但数据长度不确定)在动态分配内存时&#xff0c;malloc的返回值就是该类型&#xff0c;方便用户进行强制转换。 2、VS怎么一键规范格式 for(i0;i<10;i)enter后&#xff0c;…

JUC AQS(AbstractQueuedSynchronizer)

文章目录 AQS &#xff08;AbstractQueuedSynchronizer^1.5^&#xff09;CLH 锁队列AbstractQueuedSynchronizer 成员变量说明AbstractQueuedSynchronizer.Node 源码CLH 队列原理图入队逻辑方法出队逻辑方法 继承 AQS 需要实现的几个方法AQS 对象序列化ReentrantLock 源码解析R…

环境监测LoRa网关解决方案应用空气质量监控

随着全球工业化和城镇化的快速发展&#xff0c;空气质量问题越来越受到关注。环境监测技术的发展&#xff0c;可以有效地帮助我们监测和改善空气质量。而LoRa网关则是一种可以帮助我们实现远距离、低功耗通信的无线通信技术&#xff0c;它的应用可以为空气质量监测提供解决方案…

【Matplotlib】基础设置之文本标签03

处理文本 import matplotlib.pyplot as plt import numpy as np %matplotlib inlinematplotlib 对文本的支持十分完善&#xff0c;包括数学公式&#xff0c;Unicode 文字&#xff0c;栅格和向量化输出&#xff0c;文字换行&#xff0c;文字旋转等一系列操作。 基础文本函数 …