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

目录

  • [一. 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. 序列化方式

总结

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

相关推荐
练习时长一年4 分钟前
AopAutoConfiguration源码阅读
java·spring boot·intellij-idea
源码宝1 小时前
【智慧工地源码】智慧工地云平台系统,涵盖安全、质量、环境、人员和设备五大管理模块,实现实时监控、智能预警和数据分析。
java·大数据·spring cloud·数据分析·源码·智慧工地·云平台
David爱编程2 小时前
面试必问!线程生命周期与状态转换详解
java·后端
LKAI.3 小时前
传统方式部署(RuoYi-Cloud)微服务
java·linux·前端·后端·微服务·node.js·ruoyi
HeyZoeHey3 小时前
Mybatis执行sql流程(一)
java·sql·mybatis
2301_793086873 小时前
SpringCloud 07 微服务网关
java·spring cloud·微服务
柳贯一(逆流河版)4 小时前
Spring 三级缓存:破解循环依赖的底层密码
java·spring·缓存·bean的循环依赖
该用户已不存在5 小时前
OpenJDK、Temurin、GraalVM...到底该装哪个?
java·后端
TT哇6 小时前
@[TOC](计算机是如何⼯作的) JavaEE==网站开发
java·redis·java-ee
Tina学编程6 小时前
48Days-Day19 | ISBN号,kotori和迷宫,矩阵最长递增路径
java·算法