当前位置: 首页 > news >正文

JavaSE - 面向对象编程03

01 多态

01_01 认识多态

01_02 多态的好处和缺点

【1】好处:① 可以解耦合,扩展性更强,父类引用指向的子类对象可以随时切换,而后面的逻辑代码并不需要更改。

                    ② 使用父类引用可以作为方法的形参或返回类型来接收一切子类对象。

【2】缺点:父类对象是无法调用子类独有的方法?如何解决:对父类引用进行强制类型转换,且在转换之前使用instanceof关键字判断父类引用指向的对象是什么类型的再进行转换。

02 final关键字

02_01 认识final

【补充】:final修饰变量时又分为修饰局部变量和成员变量:

                  ① 局部变量:被final修饰的局部变量只能被赋值一次,我们在定义方法的参数时也可以将参数定义成被final修饰的变量。

                   ② 类变量:修饰符 + static + final xxx = xxx; 

                   ③ 实例变量:修饰符 + final xxx = xxx; 使用得很少,因为如此定义表示这个实例变量每个对象中都有一份,且值是固定的,如此效果还                           不如直接定义成被final修饰的类变量。

02_02 补充知识:常量详解

【补充】:进一步解释使用常量记录系统配置信息的好处:可读性好是因为我们要去使用这些信息时直接用常量名就可以,而常量名通常以见名知意的约定创建,例如CLASSROOM我们一下就能明白这个常量值代表什么。可维护性好是因为当我们想修改某个常量值时直接修改即可,此时代码中使用常量值的地方,常量值的内容会自动发生变化,而不需要我们一个个手动修改。

03 抽象类

03_01 认识抽象类

03_02 使用抽象类的好处

03_03 应用:模板方法设计模式

04 接口

04_01 接口概述

 

04_02 接口的综合案例

提示:学生类,学生操作类,接口,操作类1,操作类2;在学生操作类的操作方法中使用接口引用调用操作类1/2的相关方法。

04_03 其他:JDK8开始,接口中新增的三中方法

04_04 其他:接口的多继承、使用接口的注意事项(了解)

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Qt | AI+Qt6.5.3+ubuntu20.04+FFmpeg实现音视频编解码(播放一个中秋节快乐视频为例)
  • 安全API
  • LeetCode 815.公交路线(BFS广搜 + 建图)(中秋快乐啊)
  • 【AcWing】前缀和与差分(一维 + 二维)
  • 轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数
  • [网络]TCP/IP协议 之 网络层IP协议(3)
  • react crash course 2024 (1)理论概念
  • reader-lm:小模型 html转markdown
  • SQL进阶技巧:如何将字符串数组清洗为简单map结构? | translate + regexp_replace方法
  • Kafka日志索引详解与常见问题分析
  • 用 nextjs 创建 Node+React Demo
  • C/C++语言基础--从C到C++的不同(下),15个部分说明C与C++的不同
  • 裸土检测算法实际应用、裸土检测算法样本、裸土检测算法精准检测
  • Python 解析 JSON 数据
  • 开源模型应用落地-qwen模型小试-调用Qwen2-VL-7B-Instruct-更清晰地看世界(一)
  • 【刷算法】从上往下打印二叉树
  • django开发-定时任务的使用
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • Docker入门(二) - Dockerfile
  • es6要点
  • Go 语言编译器的 //go: 详解
  • java第三方包学习之lombok
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • rc-form之最单纯情况
  • SpiderData 2019年2月23日 DApp数据排行榜
  • SQLServer插入数据
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 读懂package.json -- 依赖管理
  • 开发基于以太坊智能合约的DApp
  • 你不可错过的前端面试题(一)
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 微信小程序--------语音识别(前端自己也能玩)
  • 温故知新之javascript面向对象
  • 小试R空间处理新库sf
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 云大使推广中的常见热门问题
  • ​Redis 实现计数器和限速器的
  • ## 基础知识
  • ###STL(标准模板库)
  • (2024)docker-compose实战 (9)部署多项目环境(LAMP+react+vue+redis+mysql+nginx)
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (苍穹外卖)day03菜品管理
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (十一)图像的罗伯特梯度锐化
  • (四)图像的%2线性拉伸
  • (一)springboot2.7.6集成activit5.23.0之集成引擎
  • (转载)OpenStack Hacker养成指南
  • .DFS.
  • .form文件_SSM框架文件上传篇
  • .naturalWidth 和naturalHeight属性,
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端