静态类+单例模式

静态类
静态类的定义

在声明类的时候加上static修饰的类为静态类。

1.静态类只允许有静态成员(静态方法,静态字段,静态属性)。

2.静态类不能实例化。

3.静态类中的方法是通过类名来调用。

静态类使用事项

静态类在项目中,资源是共享的。

静态类在程序结束时释放资源。(静态类和程序同生共死)

所以静态类在项目中应该越少越好。(单例设计模式)

使用静态类的原因

静态类不能实例化对象,若想要将你的类当成一个"工具类"去使用,可以考虑将类写成静态类:

例如:Console.WriteLine("");

静态类的声明
cs 复制代码
static class 类名{
    static 字段;
    static 属性;
    static 方法;
}

调用静态类的成员:类名.静态成员

静态与非静态区别

静态成员

类名调用 /静态类中只能有静态成员 /静态方法中只能调用静态成员

非静态成员

对象名调用 /非静态类中可以有静态成员 /非静态方法中可以调用静态成员

单例模式

为了既发挥静态资源共享的优点,又避免静态一直霸占资源的缺点,所以出现了单例模式。

使用唯一一个静态变量来索引堆中的内容。

1.不允许别人去实例化出其他实例个体(封闭构造函数)。

2.为了别人方便索引,而且只能访问,使用属性的get方法去封装这个变量。

3.在外人访问的时候,得先判断一下,这个静态变量存储的地址是否为空。

4.如果为空,就要去堆中开辟空间(使用new构造函数()创建一个新对象)。

5.如果不为空就可以直接返回。

6.这样,该类中其他非静态的成员,就可以通过这唯一一个静态变量去索引(用dot语法)

该系列专栏为网课课程笔记,仅用于学习参考。

相关推荐
Lost of 程序猿1 小时前
用 YARP 为 .NET 微服务搭一座“立交桥“:路由转发与生产配置实践
c#·asp.net
码行山野赴时序归途2 小时前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
景熙55232 小时前
单体项目编写思路和落地形式
java·开发语言
计算机毕设定制辅导-无忧学长3 小时前
《基于SpringBoot的未成年人健康知识科普平台的设计与实现》
java·开发语言·vue.js·spring boot·未成年人健康知识科普平台
Ivanqhz3 小时前
Ping-Pong 双缓冲
开发语言·人工智能·python·深度学习·mlir
m0_734571763 小时前
深入理解C++ RAII
开发语言·c++
泡海椒3 小时前
jquick-pdf 表格实战:动态数据 PDF 报表生成
java·开发语言·pdf
aramae3 小时前
模拟实现memset()(C语言)
c语言·开发语言·后端
wuyk5554 小时前
【Socket 进阶之路】第 7 章 IO 多路复用 select & poll 完整实战|多 fd 监听、超时等待、优缺点横向对比
服务器·开发语言·网络·数据库·物联网
船厂电气自动化ai大模型4 小时前
AI大模型与数学|第81天 课程:正交向量、正交基、格拉姆‑施密特(Gram‑Schmidt)正交化
开发语言·数据结构·人工智能·线性代数·机器学习