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

码出高效_第二章 | 面向对象_上

目录

  • 一. OOP理念
    • 1. 概念辨析
    • 2. 四大特性
      • 1. 抽象
      • 2. 封装
      • 3. 继承
      • 4. 多态
  • 二. 初识Java
    • 1. JDK
      • JDK 5-11的重要类、特性及重大改变
    • 2. JRE
      • 关于JVM
  • 三. 类
    • 1. 概述
    • 2. 接口和抽象类
      • 1. 概念及相同点
      • 2. 不同点
      • 3. 总结
    • 3. 内部类
    • 4. 访问权限控制
      • 1. 由来
      • 2. public/private/无/private
      • 3. 推荐访问权限处理
    • 5. this 与 super
    • 6. 类关系
    • 7. 序列化
      • 1. 序列化和反序列化
      • 2. 序列化方式
  • 总结

一. OOP理念

1. 概念辨析

  • 面向过程编程: 是让计算机有步骤地顺序地做一件事,一种过程化的叙事思维。
    其结构相对松散,更强调如何流程化地解决问题。
  • 面向对象编程: 的思维更加内聚,强调高内聚、低耦合,先抽象模型,定义共性行为再解决实际问题。

2. 四大特性

抽象是所有特性的基础、从封装到继承最后到多态为层层递进。

1. 抽象

在这里插入图片描述

2. 封装

在这里插入图片描述

3. 继承

在这里插入图片描述

4. 多态

在这里插入图片描述

二. 初识Java

  • 1995年Sun公司首次发布Java语言。
  • 1996年Java开发工具包(即Java Development Kit 简称 JDKl.O)发布,这是 Java 发展的一个重要里程碑,标志着 Java 成为一门独立的 熟语言。
  • 随后Sun发布了Just in time 编译器(简称 JIT),不断进步的 JIT 技术使 Java 的执行速度接近甚至超过其他高级语言。
  • Java 语言拥有跨平台、分布式、多线程、健壮性等主要特点,是当下比较主流的高级编程语言。

1. JDK

最具划时代影响力的版本是JDK5 ,项目代号Tiger,成为工业级语言,在企业服务端得到极为广泛的应用。

JDK 5-11的重要类、特性及重大改变

在这里插入图片描述

2. JRE

JRE( Java Runtime Environment )即Java运行环境,包括 JVM、核心类库、核心配置工具等。

关于JVM

在这里插入图片描述

三. 类

1. 概述

在这里插入图片描述

2. 接口和抽象类

1. 概念及相同点

在这里插入图片描述

2. 不同点

在这里插入图片描述
在这里插入图片描述

3. 总结

在这里插入图片描述

3. 内部类

在这里插入图片描述

4. 访问权限控制

1. 由来

面向对象的核心思想之一就是封装 ,只把有限的方法和成员公开给别人,这也是迪米特法则的内在要求,使外部调用方对方法体内的实现细节知道得尽可能少

2. public/private/无/private

在这里插入图片描述
在这里插入图片描述

3. 推荐访问权限处理

在这里插入图片描述

5. this 与 super

在这里插入图片描述

6. 类关系

在这里插入图片描述
在这里插入图片描述

7. 序列化

1. 序列化和反序列化

内存中的数据对象只有转换为二进制流才可以进行数据持久化和网络传输。
常见使用场景:RPC框架的数据传输
在这里插入图片描述

2. 序列化方式

在这里插入图片描述

总结

面向对象编程思想把所有的有形或无形的事物都看作对象,并给对象赋予相应的属性和行为 建立对象之间的联系 使程序员更加立体、形象地解决编程领域的问题。

http://www.lryc.cn/news/112391.html

相关文章:

  • 大学生课设实训|基于springboot的在线拍卖系统
  • 论文阅读 - Social bot detection in the age of ChatGPT: Challenges and opportunities
  • FPGA优质开源项目 - UDP RGMII千兆以太网
  • 学C的第三十二天【动态内存管理】
  • 聊聊elasticsearch的data-streams
  • unreal engine c++ 创建tcp server, tcp client
  • 24届华东理工大学近5年自动化考研院校分析
  • 初识集合和背后的数据结构
  • 选择适合你的数据可视化工具:提升洞察力的关键决策
  • H5中的draggable
  • 搭建SVN服务器
  • OpenCV之信用卡识别实战
  • Detector定位算法在FPGA中的实现——section1 原理推导
  • 心电信号去噪:方法与应用
  • 睡眠助手/白噪音/助眠夜曲微信小程序源码下载 附教程
  • Spring Cloud常见问题处理和代码分析
  • debian怎么修改man help为中文,wsl怎么修改显示语言为中文
  • k8s概念-亲和力与反亲和力
  • 【数据结构】实现单链表的增删查
  • Vue2 第二十节 vue-router (四)
  • 第三章 图论 No.1单源最短路及其综合应用
  • ❤ npm不是内部或外部命令,也不是可运行的程序 或批处理文件
  • 关于Godot游戏引擎制作流水灯
  • C语言 函数指针详解
  • LNMP及论坛搭建
  • 【使用机器学习和深度学习对城市声音进行分类】基于两种技术(ML和DL)对音频数据(城市声音)进行分类(Matlab代码实现)
  • Godot 4 练习 - 制作粒子
  • Java基础继承详解
  • 如何维护你的电脑:打造IT人的重要武器
  • 【雕爷学编程】MicroPython动手做(31)——物联网之Easy IoT 3