日期:2014-05-17  浏览次数:20724 次

static 静态函数的疑惑
在函数前加static 有什么功能,能让函数内的值不被销毁?
下次执行这函数是继续上次的值为初值?

------解决方案--------------------
不是,是你用哪里改变它的值,它的值就变为你改变的,不能变回初始值!
------解决方案--------------------
因为.net是一个纯面向对象的语言,所以不支持全局方法,就只能把不需要实例化就调用的方法放在某个类中,定义为静态方法,例如:
MessageBox.Show()
实在没必要调用对话框的时候写New MessageBox,所以就干脆写静态方法了。
------解决方案--------------------
将一些常用方法放入一个类,然后就是无需实列化类而直接调用该函数,仅此而已,与static 变量不一样的含义
------解决方案--------------------
首先静态方法只能引用这个类内的静态字段,对于这些静态字段,因为只有一份,所以每次的改动都会保留下来。

而如果是在方法内的局部变量的话,即方法内部定义的,出作用域之后就没有了。
------解决方案--------------------
static的作用有两个,一个是在对象的实例之间共享数据,一个是编写不需要使用对象成员的方法,相当于全局函数。
------解决方案--------------------
static  静态方法,在整个的程序代码里面都可以使用,相当于全局变量!
------解决方案--------------------
引用:
Quote: 引用:

在函数前加static 有什么功能,能让函数内的值不被销毁?
下次执行这函数是继续上次的值为初值?

在你没有正规学习面向对象系统分析和设计时,你为什么不使用static方法呢?

你不写static,能更省事吗?


晕...你的static方法,和 里面的变量没有直接关系的哈...
一般的工具类,或常用的适合static方法...如数学类...
这些都是很常用的,不用每次都去new 一个实例去计算...你想想,每次 想算一个 sin(30度)..都去new 一个实例..是不是很繁琐...所以 .net将常用的类,中的常用的方法作为静态的方法..