namespace _02静态和非静态 { class Program { static void Main(string[] args) { //用static修饰的字段是静态字段,用static修饰的方法是静态方法 MyStatic ms = new MyStatic();//new一个实例 ms.num1=10;//通过实例名.字段名的方式调用 ms.func();//通过实例名.方法名的方式调用 //----------------------------------------------------- MyStatic.num2 = 100;//通过类名.字段名直接调用 MyStatic.funcStatic();//通过类名.方法名直接调用 Console.ReadKey(); } } class MyStatic { public int num1;//一般字段 public static int num2;//静态字段 public void func()//一般方法 { Console.WriteLine("我是一个一般方法"); } public static void funcStatic()//静态方法 { Console.WriteLine("我是一个静态方法"); } }
静态构造方法和静态类的生命周期 静态构造方法在第一次访问这个类的时候就会执行,并且只执行一次!到程序结束才会释放,所以尽量多用静态方法,少用静态字段! 静态构造方法无返回值、无参数、无访问修饰符,只由static修饰! 静态成员属于该类的所有对象,实例成员只属于当前实例! |