欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » C# » 正文

热门阅读

C#中的静态方法与非静态方法的区别

创建时间:2011年08月01日 14:34  阅读次数:(5955)
分享到:
非静态方法比静态方法多传递一个隐含的指针参数,该指针指向该方法所在类已被实例化的对象。这一区别的外在表现为非静态方法内可使用this关键字代表所从属的类,而静态方法不可使用this,因为静态方法不针对任何实例对象。非静态方法调用静态方法会因参数中多出一个指向自己的指针(this)而发生错误。 定义静态方法只需加注static关键字即可。静态方法独立于对象实例之外,与对象是否已被实例化无关,调用静态方法要用类定义的名称而不能用实例名称。

示例代码如下:

定义类及方法:
class Class1 

  ... 
  public static void Method1(){}//静态方法 
  public void Method2(){}//实例方法


能过实例化的对象调用方法:
Class1  c = new Class1 ();  
c.Method1();//错误的调用方式,静态方法不能通过实例化的对象调用。
c.Method2();//正确的调用方式,隐含this指针,不需要也不允许显式传入对象指针。


不实例化对象,直接调用对象方法:
Class1.Method1();//正确的调用方式,与对象实例无关。 
Class1.Method2();//错误的调用方式,非静态方法必须通过实例化的对象调用。
b(u愽e,
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 40+90=? 的结果(结果是:130)
结  果: