欢迎来到鲍余网络官网 官方微信 官方微博 IDC网站
深圳网站建设官方微信

网络之路,从这里开始

热线电话

18576678080 / 0755-85278776

热点资讯
首页 > 热点资讯 > 怎么调用静态方法

怎么调用静态方法

  • 所属分类: 热点资讯
  • 发布时间:2015-04-16 15:44:26
  • 作者: 鲍余网络
  • 点击量:

MSDN:静态方法可以被重载而不能被重写。静态方法和属性不能访问其包含类型中的非静态字段和事件,并且不能访问任何对象的实例变量(除非在方法参数中显式传递)。对静态方法的调用以 Microsoft 中间语言 (MSIL) 生成调用指令,而对实例方法的调用生成 callvirt 指令,该指令还检查 null 对象引用。但是,两者之间的性能差异在大多数时候并不明显。下图1可以看出实例方法的调用指令。

1
CLR via C#:调用一个静态方法时,CLR会定位与定义静态方法的类型对应的类型对象。然后,JIT编译器在类型对象的方法表中查找与被调用的方法对应的记录项,对方法进行JIT编译(如果需要的话),再调用JIT编译的代码。过程图如下:2
 
小结:
一般情况下声明静态方法的类大多是工具类,并且这些静态方法不需要访问类型中的非静态字段和事件,也就是说静态方法与该类型中的非静态字段和事件不具有逻辑上的关联性。
如果一个方法声明为静态方法,也意味着不能被重写,该方法失去面向对象的扩展和多态的特性。
静态方法与实例方法在性能和占用内存上没有明显的区别,是否声明为静态方法需要从类型的非静态字段、事件、面向对象扩展和多态这三方面来考虑。
 
关键词:

相关文章:

有做网站需求?   联系客服经理 提交需求 直接拨打业务电话:0755-85278776