面向对象之设计模式,四种内部类,类关系

面向对象

1. 类关系

继承 使用extends表示,类和类单继承,接口和接口多继承,多个逗号隔开

又叫泛化关系

实现 类和接口是多实现关系,多个逗号隔开,通过关键字 implements表示

依赖 一个类中的局部变量 ,保存了另一个类对象

关联 又叫强依赖,一个类中的成员变量,是另一个类对象

聚合 整体和局部可以分离,各自具备独立的生命周期

比如 A要保存B的引用,这个引用一般是别人给的,或传递的,反正不是自己创建的

比如工厂模式,或者Spring中的IOC DI注入

组合 整体和局部不可分离,局部不具备独立生命周期

比如 A要保存B的引用,这个引用一般是自己创建的

那么A销毁后,B也会随之销毁,成员垃圾数据

2. 内部类

2.1 概述

类中创建的类

如果学生类需要保存老师,而老师就是一个完整的结构

一般我们会存储老师的对象就行

但是如果老师类,是公共的,就意味着在任何地方都可以使用老师类

而我们只想让这个老师类给学生类使用,不想给别的类使用,就把老师类弄成内部类

2.2 分类

成员内部类 等同看做成员变量

静态内部类

局部内部类

匿名内部类

2.3 成员内部类

2.4 静态内部类

2.5 局部内部类

2.6 匿名内部类

3. 设计模式

3.1 概述

3.2 单例模式

3.2.1 饿汉模式
3.2.2 懒汉模式

.(img-v1PKBsFP-1722600349283)]

3.2.1 饿汉模式

外链图片转存中...(img-50TjaZOn-1722600349284)

3.2.2 懒汉模式
相关推荐
JWASX8 分钟前
【Go】map 源码解析 - group
后端·golang·map·源码分析
文丑颜不良啊14 分钟前
LeetCode2141~2160题目解析
java·leetcode
LabVIEW开发21 分钟前
LabVIEW 连接板:28 个端子怎么排,优先级怎么定
java·算法·labview
天天被压力1 小时前
【A股分钟级高频数据完全手册 #07】北交所历史分钟K线接口:京市Pro版分时批量
java·人工智能·python
天天被压力1 小时前
【A股分钟级高频数据完全手册 #08】股票日、分时数据接口对比:普通分时与Pro版差异实测
java·人工智能·python
量化分析码农1 小时前
【Python量化波动率实战 01】波动率是怎么算的:年化、滚动与区间估计一次讲清
后端
特立独行的猫A1 小时前
AI 时代,我为什么推荐用 cj-tauri 开发桌面应用
java·后端·python
金銀銅鐵1 小时前
从一个类名到一张类图:用反射自动生成 PlantUML
java·后端·uml
追逐时光者2 小时前
一款基于 .NET 开源、免费的数据库自治诊断平台
后端·.net
nice_lcj5202 小时前
Java 并发容器入门:ConcurrentHashMap、CopyOnWriteArrayList、阻塞队列
java·面试·并发编程·阻塞队列·concurrenthashmap·copyonwritearraylist