请教一个关于static的问题,就是什么时候使用实体类,什么时候使用使用静态方法,
可以说个具体点的例子吗?

解决方案 »

  1.   

    用static修饰的字段或方法,在实例化类时不会再分配内存空间,相当于由多个实体类共享。
    静态方法不只能访问静态成员。
    public class A()
    {
       private static int i=0;
       private static int y;
       public static void GetY()
       {
           Console.Write{"The Value of y is: {0}" ,y
       }
       public A()
       {
          ++i;
       }
    }
    i可以用于实例类的计算。
      

  2.   

    还有一点,静态类不用实例化,实际上实例化静态类也是错误的,不能用new关键字对其进行实例化的。相当于一个共享的代码块,大家都可以调用,直接类名+方法就可以了。一般非静态类要先实例化才能使用
    如:NomalClass nomalclass=new NomalClass();//根据这里的实际构造函数可以能不同
    nomalclass.method();//调用非静态类的方法。而静态类不能实例化,直接调用就行了。
    StaticClass.method();//如果自己写静态类,不能访问外部非静态成员
      

  3.   

    我也是个菜鸟 说的很可能不对 以下是我自己的理解
    实体类: 如果数据类型简单或是类型单一 不用实体 用基本类型就能搞定 比方说 INT ,STRING[]
    当数据类型比较复杂的时候 我们就要用的实体了(封装) 因为基本类型已经无法对它进行描述了
    例 “人” 这个实体类 包含N个属性 并且每个属性的具体类型也不相同静态方法我没用过 只知道一条:(我不想说书上的东西,相信你是知道书上怎么说的) 当一个方法在程序中 大量、反复使用的时候 用static关键字 可以提高程序效率
      

  4.   

    就是说 可以用 类名.方法名的方式 一直调用 而不用再去NEW一个类的实例 节省资源 提高效率