想问个问题,用static修饰类,类里数据、方法表示该方法是静态的,只属于此类,不能被用于类实例化的对象。但是,只在类实例化对象的时候用static修饰,表示什么意思呢?比如:
public static Form m_Form;
m_Form = new Form();static是修饰的对象是吧?
被其修饰的对象会怎么样?
求解释!!!C# 关键字 static

解决方案 »

  1.   

    public static Person p = new Persion("123");
    一个道理,别搞混了
    你再仔细想想
      

  2.   

    static可修饰类或者成员
    程序集被加载时第一次访问这个类时初始化,如果向上面那样分开写,初始化后m_Form为null
    直到程序中某个地方执行m_Form = new Form();后才会变成Form的实例
    当另外一个地方再执行m_Form = new Form2(),就是Form2的实例
      

  3.   

    嘿嘿,我还一直以为没人会回我这极脑残的问题呢!忍不住再高兴一下。
        我问的其实不是上面高手回答的方面,我知道class实例化,实例化的对象时static静态的,对于数据或者成员方法来讲,用static修饰就说明了该成员是此类里的,而不是属于类实例化的对象的。用它修饰另外一个对象,我想在声明此对象的class类再去实例化它自己的对象,会同上述一样。但实际上,这个class是程序入口,我想它不会再用它去实例化其他对象了吧(我不知道是不是这样的,猜的)。这样一来就有点搞不清楚为什么要这样做,后来在网上查询,知道了静态对象是“在类装载的时候分配内存空间,而且只存在一处。所有对象都是对这一块内存区域的引用。在程序终止时统一释放空间普通对象的话用到了才会分配空间,而且用完就销毁了。”(不是很明白,别人的话)。我想应该是这样吧,把程序要做的主窗口声明为静态对象,只有在程序结束时才终止???(应该是这样吧,哪位大神理解的清除,帮忙开开脑门)