static是静态的,它所修饰的成员成为静态成员,静态成员只能用类型去调用
例如:创建一个普通的对象成员的类:Person类
class Person{
public int Age{get;set;}
public void SetAge(int a){
Age=a;
}
}
当想调用这个类里面的属性或者方法是只需要在主程序里定义一个对象去调用他们即可,即:
Person per = new Person();
per.Age=10;//调属性
per.SetAge(10);//调方法
当有静态成员时,静态成员只能用类名去调用,定义的对象是调用不出来的,例如:
class Person{
public static int Age{get;set;}
public static int SetAge(){
return Age;
}
}
当需要调用静态成员时需要用类型调用,即:
Person.Age=10;//调属性
Person.SetAge(10);//调方法
若一个类里既有静态成员又有非静态成员时,非静态成员可以随意调用,静态成员只能调用静态成员,例如:
class Person{
//为了演示需要Age的静态属性和非静态一起写
public int Age{get;set;}
public static int Age{get;set}
public static string Name{get;set;}
//非静态方法调用非静态属性和静态属性
public int GetAge(){
return Age;
}
//静态方法调用静态属性
public static string GetName(){
return Name;
}
}
总结:静态成员存在的意义,可以在其他地方直接用类去调用,省去创建对象的过程,例如当只需要调用一个方法,用其功能时,对象创建不创建都无意义时,可以考虑写成静态的。