static 函数_C#——封装:静态类和静态构造函数

本文介绍了C#中的静态关键字static,包括静态成员的特点、生命周期,以及静态类和静态构造函数的用途。静态成员不需实例化即可使用,生命周期贯穿整个程序。静态类只能包含静态成员,不能被实例化,适合做工具类。静态构造函数无访问修饰符,无参数,用于初始化静态成员,且在首次使用静态成员时自动调用。

上篇回顾

静态关键字

static

静态成员

用static修饰的

成员变量

成员方法

成员属性

特点

直接用类名点出使用

生命周期

同生共死

当一次使用后就会一直存在内存中

直到程序结束后才会被释放

因此静态成员具有唯一性

注意

静态函数中不能直接使用非静态成员

非静态函数中可以直接使用静态成员

常量和静态变量

常量是特殊的静态变量

相同点

他们都可以通过

类名点出使用

不同点

const必须初始化,不能修改

static没有这个规则

const只能修饰变量

static可以修饰很多

上篇文章,我们已经学习了静态成员的相关知识点,static关键字不仅可以将成员变量、成员方法、成员属性等变为静态,它还可以用来修饰类!

静态类

特点

用static修饰的类

只能包含静态成员

不能被实例化

b965629902815f8ab0cde05c195366b9.png

bdcc68a8b1263be8aedcda51faf9bbe2.png

作用
  1. 将常用的静态成员写在静态类中,方便使用

  2. 今天类不能被实例化,更能体现工具类的唯一性

  3. 静态类中可以写拓展方法(之后会讲)

dcff6edcf96524cafb3755915a231807.png

比如我们目前经常使用的控制台类,就是一个静态工具类,它主要提供给我们控制台相关的操作,比如:控制台的打印,输入,光标控制,颜色控制等等。

静态构造函数

特点

静态类和普通类都可以有

用static修饰的构造函数

不能使用访问修饰符

不能有参数

自动调用

静态类的静态构造函数

30ef3c372f32fed04babef77b6ae2331.png

387b32eeb5dc7434cdfb995c78cf340c.png

从这里可以看出,所有的静态成员如果不使用时,是不会分配内存的。只有当我们第一次使用静态成员时,静态成员才会被分配内存,直至程序结束时才会释放。

普通类的静态构造函数

001475fc5cccd6288c218a4f4bbb0b4b.png

306a327b6b4c03ba93d081cff7646cac.png

静态构造函数的作用

在静态构造函数中

初始化静态成员

7b10f6d456ea687ab3750aa175b51d39.gif总结

静态类

用static修饰的类

只能包含静态成员

不能被实例化

作用

工具类

拓展方法

静态构造函数

静态类和普通类都可以有

用static修饰的构造函数

不能使用访问修饰符

不能有参数

自动调用

作用

初始化静态成员

7b10f6d456ea687ab3750aa175b51d39.gif

关注

唐老湿

获取更多干货内容

f384b445704e7c0f8ee4f86af27de39c.gif

6584e363d12dbde5f3f7ffad9e507246.png

end

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值