CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

欢迎大家发表对静态类、静态方法、静态变量的看法

楼主soney12(soney)2006-05-27 14:12:27 在 .NET技术 / C# 提问

比如说说用静态的作用,在什么情况下会用到静态类,静态方法、静态变量  
   
  问题点数:50、回复次数:31Top

1 楼fangwancong(聪头.珠海)回复于 2006-05-27 15:07:16 得分 0

这个问题搜索一下应该会有解释。  
  Top

2 楼Yuna_2z(其实游戏是一艺术,而我只是身陷其中!)回复于 2006-05-27 16:07:11 得分 0

静态只有一个副本...Top

3 楼kssys()回复于 2006-05-27 16:14:31 得分 0

简单的讲,静态是全局的,不需要用New,直接就可以使用。Top

4 楼ChengKing((.net: http://blog.csdn.net/ChengKing ))回复于 2006-05-27 16:49:57 得分 0

1.静态的方法在整个应用程序其间存储在内存中,速度快,但占用内存.  
  class   a  
  {  
        public   static   string   b()  
        {    
              return   "Hello";  
        }  
  }  
  用法:   a.b();       //调用方便  
   
  2.动态的方法在先声明类实例才能调用类中的方法.  
  class   a  
  {  
        public   static   string   b()  
        {    
              return   "Hello";  
        }  
  }  
  用法:     a   =   new   a();       a.b();      
   
  3.一般使用频繁的方法用静态方法,用的少的方法用动态的。  
      静态的速度快,占内存。     动态的速度相对慢些,但调用完后,立即释放类,可以节省内存  
  Top

5 楼diandian82(点点(nothing))回复于 2006-05-27 17:27:02 得分 30

静态类没有用过,谁能说一下,有这东西么?我只知道有静态构造函数Top

6 楼berlin8600(柏林)回复于 2006-05-27 17:36:03 得分 0

静态类可以看看Duwamish的的配置项目.  
  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dwamish7/html/vtoriDuwamish70Overview.aspTop

7 楼syeerzy(快乐永远*先天下之乐而乐*后天下之忧而忧*)回复于 2006-05-27 18:07:12 得分 0

静态类   又叫静态例程类     只包含静态成员的类   2005中用    
   
   
  访问级别   static   class   类名  
  {  
  }  
   
  来标识Top

8 楼soney12(soney)回复于 2006-05-27 19:04:36 得分 0

静态类有什么作用,在什么时候用静态类呢Top

9 楼kssys()回复于 2006-05-27 19:10:10 得分 0

比如说:System.IO.File.MoveFile....Top

10 楼anthit()回复于 2006-05-27 19:51:47 得分 0

学习学习Top

11 楼fener721()回复于 2006-05-27 22:18:59 得分 0

1、特点:  
   静态字段:对于一个类不管创建几个它的实例,它的静态字段在内存中只创建一个副本(这和     实例字段不同),这样可以节省资源。  
   静态方法:也是只存储一次(不过这一点和实例方法相同),但是它不能访问实例数据(如果      你的类的某一个方法不需要访问实例数据或实例的方法时,可以把它定义为静态方      法)  
  2、用途:可以用它们来定义类的最一般的特征,这些特征不会因为实例的不同而改变(这是      只创建一个副本就可以了的原因,也是静态方法不能访问实例数据的原因)。  
  3、用法:它们是属于类的,而不是属于实例的,所以在访问它们时在“.”前面使用类名,而是 使用实例名,这也反应出了它们是用来描述类的一般特征的。  
   
  以上是我对静态字段和静态方法一点理解,见笑了,呵呵。Top

12 楼fener721()回复于 2006-05-27 22:24:43 得分 10

>>“而是 使用实例名”  
  -------------  
  少了一个字:(应该是:而不是使用实例名Top

13 楼zeusvenus()回复于 2006-05-27 22:36:03 得分 0

看看C#语言参考  
  Top

14 楼diandian82(点点(nothing))回复于 2006-05-28 00:04:21 得分 0

比如说:System.IO.File.MoveFile....  
  ========================================  
   
  这不是定义一个静态方法不就行了么?还是没有说明静态类的特点和用途。大家继续。  
  .Net   2.0还没有用过,不知道是不是新特性。Top

15 楼gwallan()回复于 2006-05-28 13:33:29 得分 0

一般好像都是定义静态的函数Top

16 楼henryfan1(http://henryfan.cnblogs.com)回复于 2006-05-28 14:09:18 得分 0

这个我也想进一步了解.  
  有时静态方法使用上真的很吸引,一调用就OK了不需要实例化然后再调用.  
  但同就失去了OO的特性,在重用和扩展上有时会大打折扣.  
  有时在设计过程就想为什么不直接一个静态方法把entity添加到数据库,  
  但最终还是使用类,通过基类制定上下文解决事务等问题.  
  但也有很多情况上下文和事务并不是什么时候都需要的.  
  所以一切都要看情况,不过我还是喜欢OO因为方便扩展和重用.  
  Top

17 楼xxqq0824(赛跑)回复于 2006-05-29 07:46:56 得分 10

很好,很好,都吧我想说的讲完了。。。  
  不过不同意静态了,就没有oo的概念了一说。  
  因为正如fener721()   (   )   所说,静态可以用它们来定义类的最一般的特征,这些特征不会因为实例的不同而改变。比如一个员工类,他们的公司就是一个公司,那么这个公司名这个字段肯定说要设成静态的好些吧?公司名字说不依据每个实例的不同而不同的,所以采用静态属性。Top

18 楼liujiwe79(专业做控件)回复于 2006-05-29 09:36:57 得分 0

静态的可以看做一个全局的,相对执行比较快Top

19 楼henryfan1(http://henryfan.cnblogs.com)回复于 2006-05-30 09:28:05 得分 0

比如一个员工类,他们的公司就是一个公司,那么这个公司名这个字段肯定说要设成静态的好些吧?  
  前提下能这样确定当然是好事,但你能保证这个公司不会有下属公司或地区子公司.  
  出现这情况你的静态成员如何处理?  
   
  对象实例依赖静态成员从一定程度上描述类受到约束.这约束是固定的难以扩展的.  
   
   
  Top

20 楼Ivony(授人以鱼不如授人以渔,上海谋生)回复于 2006-05-30 10:26:37 得分 0

ChengKing全部是误导……Top

21 楼diandian82(点点(nothing))回复于 2006-05-30 11:34:05 得分 0

有没有人说说静态类阿?到底有没有这个概念阿?Top

22 楼soney12(soney)回复于 2006-05-30 14:57:39 得分 0

大家继续啊Top

23 楼lzlvv(天空)回复于 2006-09-27 10:01:07 得分 0

静态类在VS2005中可以定义,在VS2003中好像不能定义的.           静态类中的成员都必须是静态的,且不能实例化对象.   所以静态类的一个作用就是其中可以包含一些"全局变量"(在C#中已经没有这个概念了).Top

24 楼yzqlee()回复于 2006-09-27 10:07:18 得分 0

upTop

25 楼Samen168(Code to coding)回复于 2006-09-27 10:18:45 得分 0

upTop

26 楼Aaron9979215(秀庭)回复于 2006-11-15 16:12:36 得分 0

upTop

27 楼sean840610(更木剑八)回复于 2006-11-15 16:28:21 得分 0

我也来UP一个,没怎么用过静态Top

28 楼OrangeSeaCoast(橙色海岸)回复于 2006-11-15 16:46:12 得分 0

呵呵,如果你用静态变量多的话,呵呵,编程是容易,就是没人敢用,太占内存了,而且不释放。再有就是如果多个地方调用静态变量,变来变去,你自己都不知道这个值是什么了。Top

29 楼OrangeSeaCoast(橙色海岸)回复于 2006-11-15 16:49:06 得分 0

静态变量一般用在项目里多个对象都要使用的变量,而且这个变量不能随意更改,再就是系统一加载这个值就要赋值。Top

30 楼woshibai110()回复于 2006-11-15 16:52:28 得分 0

dingTop

31 楼xiaoku(野蛮人(^v^))回复于 2006-11-15 16:54:07 得分 0

谢谢...  
  我学习了  
   
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:soney12
  • diandian82
  • fener721
  • xxqq0824

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo