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

目录

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

总结

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

相关推荐
侠客行03175 小时前
Mybatis连接池实现及池化模式
java·mybatis·源码阅读
蛇皮划水怪5 小时前
深入浅出LangChain4J
java·langchain·llm
老毛肚7 小时前
MyBatis体系结构与工作原理 上篇
java·mybatis
风流倜傥唐伯虎7 小时前
Spring Boot Jar包生产级启停脚本
java·运维·spring boot
Yvonne爱编码8 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
Re.不晚8 小时前
JAVA进阶之路——无奖问答挑战1
java·开发语言
你这个代码我看不懂8 小时前
@ConditionalOnProperty不直接使用松绑定规则
java·开发语言
fuquxiaoguang8 小时前
深入浅出:使用MDC构建SpringBoot全链路请求追踪系统
java·spring boot·后端·调用链分析
琹箐8 小时前
最大堆和最小堆 实现思路
java·开发语言·算法
__WanG8 小时前
JavaTuples 库分析
java