静态变量和静态方法
- 静态(static)变量
静态变量(类变量)是一种全局变量,它可以在各个对象实例间共享。
class ABCD
{
char data;
static int share_data;
}
class StaticDemo
{
ABCD a,b,c,d;
}
上述4个对象a,b,c,d共同拥有静态变量share_data.
static变量的生存期不依赖于对象,其他类可以不通过实例化访问他们:
public class StaticVar
{
public static int number = 5;
}
public class OtherClass
{
public void Method()
{
int x = StaticVar.number; // here
}
}
静态(static)方法
静态方法相当于C语言的全局函数,其他的类不用实例化即调用它,同静态变量一样。
我们知道,全局变量分为实例变量(Instance Variable)和类变量(Static Variable)两种;同样,方法也可以分为实例方法和静态方法(加static关键字)两种。在使用变量时需要注意一下规则:
实例方法既可以使用实例变量,又可以使用类变量;
而静态方法只能使用类变量,不能直接使用实例变量。
- 当静态变量执行赋值操作时,变量的值为程序运行最后一次给变量赋值后的值
private void TestValue()
{
static int num = 1;
num++;
}
该方法第一次调用后num在内存中的值是2;第二次调用后值是3.