c#静态与非静态

文章写的不是很好,我也不会排版,见谅。

本文内容是参考其他资料

静态成员的调用

   静态成员调用不需要实例化,只用类名.成员名就可以访问。静态成员只用考虑该类能不能被访问到。因此知道,无论在哪里,静态成员都可以被访问

  而需要使用new,实例化才允许访问的成员叫非静态成员,在非静态方法中可以访问静态成员,在静态方法中不能直接访问非静态成员,需要new实例化

 

在定义方法的时候,加上static就是静态方法
1,定义一个静态的字段
      class MyStatic
     {
      public static int num;
     }
  注   -》这里定义的num是public,表示可以在外界进行访问
     -》static表示这个字段是静态的
2,在Main方法中使用这个字段
  static void Main(string[]args)
{
    MyStatic.num=10;
    Console.WriteLine(MyStatic.num);
    Console.ReadKey();
 
}
注  直接访问静态字段MyStatic.num   并为其赋值为10,打印时直接使用静态字段
 
3,在类中定义一个静态方法
class MyStatic
{
  piblic static void Func()
    {
       Console.WriteLine("我是静态方法");
    }
 
}
在主函数Main中直接调用
   MyStatic.Func();
   Console.ReadKey();
与使用静态字段  类似  类名.方法名;
 
4,一个类中可以有静态成员也可以有实例成员,如果是静态成员,类名.静态成员名调用;如果是实例成员,需要new,然后调用
如果一个类中只有静态成员,没有非静态成员,则这个类可以定义为静态类
静态类中不允许存在非静态成员,因为静态类是不能被实例化的
静态类的每个成员都是类名加点出来,进行访问的
 
静态成员在程序开始的时候就创建好了,直到程序结束才会被释放资源,代码中除非大量的重复使用某个方法,尽量少用静态方法,如果不是需要一个类似全局变量的字段,少用静态字段
 
最后,类可以有静态的构造方法,专门为静态成员进行初始化
class MyStaticTest
{
     piblic static int num;
     static MyStaticTest(){
       num=10;
     }
 
}
静态构造方法没有返回值,必须以static进行修饰
 
posted @ 2012-06-27 00:44  我的名字很长很长  阅读(144)  评论(0编辑  收藏  举报