1、声明静态变量的目的:
在C#中没有全局变量的概念,这意味着所有的成员变量只有该类的实例才能操作这些数据,这起到了“信息隐藏”的作用。
假设我们要定义一个图书类,要求该类能保存图书的数量,即每增加一本图书(定义一个实例),图书的数量应该加1。如果没有静态变量,我们需要将图书的数量保存在每本图书(实例)里,然而,这样的变量要在不同图书(实例)里重复存储,图书(实例)数量少的话,我们还能接受,如果图书(实例)数量较多的话,比如成千上万,我们无法想象这要造成多少资源(如内存、磁盘空间)的浪费。同时,因为图书(实例)的数量要保存在每本图书(实例)里,该值肯定是不同的。要使这些图书(实例)中保存的图书(实例)数量一致,我们必须在每增加一本新书(生成一个新实例)时,修改其他所有图书(实例)中保存的该值。此时,我们会感到数据异常的多而重复,所以,我们 需要一个静态变量来保存类的公共信息,所有该类的实例(对象)共享这个从变量的值。
2 特点:
静态局部变量保存在全局数据区,而不是保存在栈中,每次的值保持到下一次调用,直到下次赋新值。
同时因为静态变量适用于全局,所以不能在类声明中定义。
外部变量虽然是静态变量,要加上static后才能变成静态全局变量
全局变量本身是静态存储方式
3.静态变量声明的方法:
[访问修饰符] static 数据类型 变量名;
这里的访问修饰符跟类的其它成员一样,可以是public,protected,private或internal等。
4.使用方法:
静态变量必须使用类名来引用,而不能使用类的实例,因为,静态变量不属于任何实例,而是共有的。
比如:在机房中,有些物品是个人的,我们想使用时,必须指出物品的所有者,比如说“张三的笔记本”,在C#程序中我们可以使用:张三.笔记本的格式。有些物品是大家共有的物品,不能以个人名义使用,而是用机房的名义使用,比如机房的拖布,只能说:“机房的拖布”,而不能说:“张三的拖布”。
再举个例子:在机房收费系统中,我们在用户登陆时曾为上机教师定义了一个静态变量,使此变量可以随时供其他方法调用。
5.一句话总结:
静态变量是用类名来引用它。即:类名.静态变量名。
本文主要介绍关于静态变量的知识,来自于百度和自己的理解,希望读者不吝赐教,带着菜鸟一起飞。