黑马程序员技术交流社区

标题: 静态变量和静态函数 [打印本页]

作者: loveywj    时间: 2014-1-16 16:24
标题: 静态变量和静态函数
本帖最后由 loveywj 于 2014-1-16 18:42 编辑

静态变量和静态函数的程序设计方法是怎么样的。

作者: -淡然一笑    时间: 2014-1-16 16:36
静态变量:使用 static 修饰符进行声明,在类被实例化时创建,通过类进行访问不带有 static 修饰符声明的变量称做非静态变量。
静态函数:是一种特殊的成员方法,不属于类的某一个具体的实例。非静态方法可以访问类中的任何成员,而静态只能访问类中的静态成员。
作者: 许庭洲    时间: 2014-1-16 16:39
1. 带有"static"修饰符声明的变量称为静态变量。一旦静态变量所属的类被装载,直到包含该类的程序运行结束时它将一直存在。
2. 静态变量的初始值就是该类变量类型的默认值。为了便于定义赋值检查,静态变量最好在定义的时候赋上值。例如:static int b=110;
3.C#中,试用了static修饰符的方法为静态方法,反之则是非静态的;
4.静态方法是一种特殊的成员方法,它不属于类的某一各具体的实例。非静态方法可以访问类中的任何成员,而静态方法智能访问类中的静态成员;
5.例如看下面的代码:
   calss D
   {
         int a;
         static int b;
         static int G4G( )
         {
              a = 100;//错误,不允许访问
              b = 200; //正确,允许访问
         }
   }



作者: pozhenzi9010    时间: 2014-1-16 16:50
通常情况下如果程序中有某个方法使用频率高(如:从数据库取数据的方法) 就可以把该方法定义为静态方法
作者: 沈可    时间: 2014-1-16 17:01
本帖最后由 沈可 于 2014-1-16 17:04 编辑

静态变量使用 static 修饰符进行声明,在类被实例化时创建,通过类进行访问不带有 static 修饰符声明的变量称做非静态变量。  void fn();
  static int n; //定义静态全局变量
  void main()
                   {
                       n=20;
                       fn();
                  }
   void fn()
                {
                     n++;
                }
静态函数(注意与类的静态成员函数区别) 定义:在函数的返回类型前加上static关键字,函数即被定义成静态函数。
  static void fn();//声明静态函数
  void main()
                   {
                        fn();
                   }
  void fn()//定义静态函数
                {
                     int n=10;
                }
定义静态函数的好处:1、静态函数不能被其它文件所用; 2、其它文件中可以定义相同名字的函数,不会发生冲突;



作者: 幸福的彼岸    时间: 2014-1-16 17:11
static关键字在C#编程中非常常见,它用来修饰符声明属于类型本身而不是属于特定对象的静态成员。static 修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数或类以外的类型。声明为static的类、函数和变量将不能引用实例方法或变量,另外在C#中一旦类被添加了static修饰符,则其内部所有变量和方法都必须是静态的。静态变量和方法必须通过类名进行引用而不能通过实例对象引用。
作者: loveywj    时间: 2014-1-16 18:42
幸福的彼岸 发表于 2014-1-16 17:11
static关键字在C#编程中非常常见,它用来修饰符声明属于类型本身而不是属于特定对象的静态成员。static 修 ...

威武    。




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