首页 新闻 会员 周边

静态类调用静态方法和 普通的类调用静态方法的区别??

0
[已解决问题] 解决于 2012-07-24 16:36
 1 public static class StaticClass
 2 {
 3       public static void MyVoid()
 4     {
 5        //do something
 6       }
 7 }
 8 
 9 public class NormalClass
10 {
11       public static void MyVoid()
12     {
13        //do something
14       }
15 }
StaticClass.MyVoid() 和NormalClass.MyVoid() 这两个方法的调用有区别吗?
koi的主页 koi | 初学一级 | 园豆:4
提问于:2012-07-23 10:17
< >
分享
最佳答案
0

纯从调用来讲,没什么区别。

奖励园豆:5
幽灵~ | 菜鸟二级 |园豆:268 | 2012-07-23 10:41

那别的呢?

koi | 园豆:4 (初学一级) | 2012-07-23 10:42

别的是相对它的母体来说的,也就是那两个类,静态的类只能有静态成员,不能实例。当然这都是理论上的说法,最主要的是,静态的东西内存在只存一份,调用速度会快,但相对费内存。

幽灵~ | 园豆:268 (菜鸟二级) | 2012-07-23 10:59
其他回答(4)
0

一个 是静态类 ,静态类中的 都是静态的,一个 是 非静态类的静态方法。

無限遐想 | 园豆:3740 (老鸟四级) | 2012-07-23 10:55
0

MSDN中对静态类的相关说明(http://msdn.microsoft.com/zh-cn/library/79b3xss3(v=vs.80).aspx):

  • 仅包含静态成员。
  • 不能使用 new 关键字创建静态类的实例。
  • 静态类在加载包含该类的程序或命名空间时由 .NET Framework 公共语言运行库 (CLR) 自动加载。
dudu | 园豆:30994 (高人七级) | 2012-07-23 11:12
0

调用肯定是一样的,并且看了下IL好像这两个方法得IL都一样的。

Tom.汤 | 园豆:3028 (老鸟四级) | 2012-07-23 12:24
0

调用是一样的,不同的是类本身.

随处走走 | 园豆:123 (初学一级) | 2012-07-23 16:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册