C#中【静态方法】和【非静态方法】的区别?!

请教知情人士 简要回答一下、 最好不要用太专业的术语、 我初学
多见谅!
^_^

静态方法:
1.可以直接用,不用new也就是实例化,通过类名加个点就可以用了
2.静态方法里只可以用静态的东西
3.静态方法的生命周期长,也就是说,定义一个静态变量,你往里面存东西可以一直存在
4.定义的静态方法在内存中有固定的位置,所以一个程序最好不要有太多的静态方法
非静态方法:
参考静态方法(取反)
不明白再留言吧#_#
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-02-10
静态方法是属于类的方法。非静态方法方法是属于类的实例的方法。在引用时,前者直接通过类名应用,也可通过实例引用,但引用的都是同一个东西。后者要先定义实例,才能引用。静态方法只能用类的静态成员。如:
class ClassName{
static void M1(){}; //静态方法
void M2(){}; //非静态
}

ClassName.M1(); //直接引用静态方法
ClassName c1 = new ClassName();
c1.M2();
第2个回答  2009-02-11
静态方法不需要实例化类,直接用类名.静态方法()调用;
非静态方法要new实例化类,使用该类对象.非静态方法()调用。
第3个回答  2009-02-10
静态方法会有static关键字.调用时候不能实例化.可以直接调用.
而非静态方法如果需要调用.需使用new等关键字进行实例化方可使用.

我想我说的答案简单易懂.
第4个回答  2009-02-11
静态方法 属于类 用的时候 类名。方法名
A.sf();

非静态方法 属于类对象 用的时候 要先建立对象 ,然后通过对象调用
A a= new A();
a.f();
相似回答