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

面向对象

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 懒汉模式
相关推荐
添乱8 分钟前
「Java案例」猜数字游戏
java
添乱8 分钟前
「Java案例」求n1-n2内的素数
java
undefinedType9 分钟前
Elasticsearch 检索模型解析:经典模型TF/IDF
后端
程序员秘密基地10 分钟前
基于html,css,vue,vscode,vs2022,asp.net,aspnet,.net,c#,mysql数据库,在线健身,俱乐部管理系统
前端·vue.js·后端·mysql·asp.net
阳仔47511 分钟前
Mybatis报错
后端
cloudy49111 分钟前
Java 各种 IO 模型端口转发性能对比实测(BIO、NIO、AIO、虚拟线程)
java·性能优化
天天摸鱼的java工程师13 分钟前
当我成为面试官,我才知道当年那些面试官其实并不是在难为我,而是在考察我面对问题的拆解能力
前端·后端·面试
花好月圆春祺夏安15 分钟前
基于odoo17的设计模式详解---策略模式
设计模式·策略模式
编程乐趣15 分钟前
基于.Net5+Vue+iView前后端分离通用权限开源系统,适合初学者
后端
天天摸鱼的java工程师20 分钟前
MyBatis Plus 的实用技巧:从业务场景到代码实现
java·后端·mybatis