C#基础:静态成员和静态类

静态成员

1. 静态成员是被static关键字修饰的. 是属于类的. 通过类名.静态成员来访问.
2. 实例成员 没有被static关键字修饰的 是属于对象的.通过对象名.实例成员来访问.
3. 实例成员属于对象.
4. 在这个类第一次被加载的时候,这个类下面的所有的静态成员会被加载
5. 静态成员只被创建1次. 所以静态成员只有1份.  实例成员 有多少个对象 就有多少份.
6. 静态成员会被创建在静态存储区中.一旦创建 直到程序退出才会被回收.
7. 变量需要被共享的时候,方法需要被反复调用的时候.  就可以将这些成员定义为静态成员. 
8. 在静态方法中不能直接调用实例成员 因为静态方法被调用时候 对象还有可能不存在.
9. this/base关键在静态方法中不能使用 因为有可能对象还不存在.

10. 可以创建这个类的对象 指定对象的成员在 静态方法中操作.
11. 在实例方法中 可以调用静态成员  因为这个时候 静态成员肯定存在.

 

静态成员续

 1. 静态成员属于类 1个类第一次被访问的时候 这个类下面的所有的静态成员会被加载到静态存储区.
      静态成员只存在1份
      静态成员1旦创建 程序退出的时候才会被回收.
2 实例成员成员属于对象,. 随着对象的创建而创建 被GC回收的时候. 
    在静态方法中不能直接访问实例成员


    第一次类的成员被访问的时候 静态构造函数执行.
    只执行1次.
    在执行第一访问之前 先执行静态构造函数 再接着执行你的操作.

 

 

静态类
1.静态类 被static关键字修饰.
2.静态类中只能声明静态成员
3.静态类中不能有实例构造函数.
4.静态类不能被实例化 因为没有实例成员 实例化无意义.
5.静态类不能被继承.
6.静态类的本质是1个 抽象的密封类. 所以不能被继承也不能被实例化.
7.如果1个类下面的所有成员都需要被共享 那么就可以把这个类定义为静态类 不能声明1个静态类型的变量.

静态构造函数. 非静态类也可以有静态构造函数.
这个类的成员第一次被访问之前 就会执行静态构造函数.
静态构造函数只被执行一次.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值