黑马程序员技术交流社区

标题: static 这个在方法中加与不加有什么区别?????? [打印本页]

作者: 黑马姜硕    时间: 2011-12-16 08:21
标题: static 这个在方法中加与不加有什么区别??????
本帖最后由 黑马姜硕 于 2011-12-17 09:19 编辑

static 代表什么意思 在方法中和在修饰变量的时候 写与不写有什么区别
作者: 吴泉水    时间: 2011-12-16 08:33
如果在面向过程设计中在全局变量前加上关键字static该 变量就被定义成为了一个静态全局变量,这个变量不需要赋初值就可以使用,静态变量都是在全局数据区分配内存,自动变量一般会随着函数的退出而释放空间,静态数据(即使是函数内部的静 态局部变量)也存放在全局数据区。全局数据区的数据并不会因为函数的退出而释放空间。
在面向对象设计中,静态类,不需要new一个实例就可以使用。
作者: 许超    时间: 2011-12-16 08:45
c#中static有三个作用:
1.在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。
2.在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3.在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

作者: 朱勋    时间: 2011-12-16 10:17
本帖最后由 朱勋 于 2011-12-16 10:18 编辑

其实是实现了共享的机制,如果在字段或者方法前面加了static就可以通过类名来直接访问了。例如:
  1. class DbConn
  2. {
  3.   public static  int  conn;
  4. }
复制代码
你访问变量的时候就不用实例化了,直接用类名.字段或者类名.方法名就可了。方法也是如此





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2