C#中的static

一:介绍

static是静态的不变的,static可以修饰类、字段、属性、方法等


二:静态类

静态类与私有构造函数类似,它本身是一个密封抽象类,不能被实例化不能被继承。通常工具类被定义为静态类

——静态类中只能包含静态成员
——静态类不能被实例化
——静态类不能被继承


三:静态变量

C#中没有全局变量的概念,所有的变量必须由该类的实例对象进行操作,这样做是为了提升安全性,但是有些时候会显得很不方便,所以引入了静态变量

——静态变量属于类,所以是通过类名去访问的。非静态变量是当该变量所在的类被实例化后,通过实例化的对象访问
——静态变量可以理解为是全局变量,被所有类所共享,即一个类中改变了这个静态变量后,其他类读到的就是变化后的值。非静态变量是局部变量,不共享改变的值
——静态变量只被创建一次,在类第一次被使用时,类中的所有静态变量都被创建在内存当中,直到它所在的类的程序运行结束时才消亡。而非静态变量需要类被实例化后才会分配内存。所以建议一般使用非静态类
——静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存

——静态变量生命周期为应用程序的生命周期。非静态变量的生命周期取决于实例化的类的生命周期


四:静态方法

——静态方法中不能包含非静态成员和非静态方法,因为静态方法被调用的时候,非静态对象有可能还不存在

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hello Bug.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值