A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 黑马姜硕 于 2011-12-17 09:19 编辑

static 代表什么意思 在方法中和在修饰变量的时候 写与不写有什么区别

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

3 个回复

倒序浏览
如果在面向过程设计中在全局变量前加上关键字static该 变量就被定义成为了一个静态全局变量,这个变量不需要赋初值就可以使用,静态变量都是在全局数据区分配内存,自动变量一般会随着函数的退出而释放空间,静态数据(即使是函数内部的静 态局部变量)也存放在全局数据区。全局数据区的数据并不会因为函数的退出而释放空间。
在面向对象设计中,静态类,不需要new一个实例就可以使用。

评分

参与人数 1技术分 +1 收起 理由
李荣壮 + 1

查看全部评分

回复 使用道具 举报
许超 黑马帝 2011-12-16 08:45:43
藤椅
c#中static有三个作用:
1.在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。
2.在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3.在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

回复 使用道具 举报
朱勋 黑马帝 2011-12-16 10:17:35
板凳
本帖最后由 朱勋 于 2011-12-16 10:18 编辑

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

评分

参与人数 1技术分 +1 收起 理由
李荣壮 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马