在C#中static关键字是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/05/26 04:05:57
不要复制的答案,要自己的见解,长短无所谓,一句话也行。

表示静态的,修饰变量的时候表示变量是不可改变的,程序运行结束才收回内存空间,修饰类的时候表示可以不用实例化而直接使用的类。

变量声明成static的话当整个程序退出时才释放空间
还有就是静态是类所有,非静态是对象所有
比如
class A
{
public static void Fun1(){};
public void Fun2(){};
}
使用Fun1的话就直接A.Fun1()就可以了,如果实用Fun2的话必须实例一个对象出来才行

静态变量,可在全局访问.
1.在static void Main(string[] args)里用到的所有不在函数域里的变量都需要设置成static
2.有的类中将变量(即定义一个“域”)或者方法定义为static类型,那么这个变量字段(或者方法)可以形象的理解为是“类”的(即,该类的所有成员共享内存中为a分配的一块内存空间),而不像其他普通的变量(或者方法)一样是属于“对象(即类的实例)”的,当然这只是形象的说法
例:class A{
static int a=0;
static void Str(){ };
public A(int x){
a=x;
};
}
那么在程序运行的过程中,变量a只被“初始化”一次,即只在创建第一个类A的对象是初始化a,比如创建A的实例b,并赋予a的值为3;此后再创建A的实例,如c并使用如下方式 A c(4);该语句的意思是创建A的实例,并调用构造函数,将4赋予a,则此时对象c中的域a的值为4,而对象b中的域a的值也为4(注意:不再是3),因为“类的静态域(字段)是其所有对象共享的,亦即只有一个,也就是不属于对象,而是类自身的(可以这么理解,其实我也不知道准不准确)”。
至于静态的方法,其实也是类的,使用时直接用“类名.方法名”的形式,而不是像普通的方法那样用“对象名.方法名”的形式....
呵呵,我只能理解到这种程度,希望对你有所帮助!

表示静态的,修饰变量的时候表示变量是不可改变的,程序运行结束才收回内存空间,修饰类的时候表示可以不用实例化而