1、Static变量是全局的,在构造的时候就分配在了内存中,生命周期历经整个程序。
2、Static不是方法静态成员,只能是类静态成员。
即static的数据类型,只同类本身有关,同类的实例无关,不能够在类实例中调用static的数据类型。
3、Static方法可以不用实例化对象就直接使用: ClassName.StaticMothedName()。
4、Static方法中只能使用Static变量。
5、不可以在Class类中的某个方法里面定义Static变量,必须是
public class Class4
{
static int mySTValue;//此处定义是正确的
public Class4()
{
}
public static void myDownMethod(string strMessage)
{
Console.WriteLine("Class4 Message is {0}", mySTValue);
}
}
下面是错误的
public class Class4
{
public Class4()
{
}
public static void myDownMethod(string strMessage)
{
static int mySTValue;//此处定义是错误的
Console.WriteLine("Class4 Message is {0}", mySTValue);
}
}
6、如果在类中定义一个Static变量,并且是Public的
public class Class4
{
public static int mySTValue;//定义Static变量,并且为Public
public Class4()
{
}
public static void myDownMethod(string strMessage)
{
Console.WriteLine("Class4 Message is {0}", mySTValue);//Static方法中使用Static变量
mySTValue++;
}
}
则可以同引用Static函数一样不需要实例化,即可调用,Class4.mySTValue