static关键字
22页1、static中文之意为“静态的,不变化的”。被static修饰的成员将被标记为静态成员,它属于类别,是该类别所有实例的共有成员,在该类别的范畴内可以说是全局的,所以必须初始化。而非静态成员属于类别的执行个体,归每个具体的对象所专有。C#严格规定了静态成员只能通过类来获取,非静态成员只能通过对象来获取,这一点和c+的static成员获取是不一样的。static 修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数或类以外的类型。我们通常使用静态成员来表示不会随对象状态的变化而发生变化的数据或计算。 标记为static的静态类,只能包含静态成员。它是密封的,不能被实例化和继承,不能包含实例构造函数,只可以通过静态构造函数来分配初始值信息。当一个类中没有依赖对象标识的数据或行为时,就可以将其定义为静态类。 在静态属性或方法中,只能访问static变量,也只能调用其它的static方法,不能使用this变量,不能引用任何实例成员,但是可以在方法体中使用new关键词来实例化一个对象来调用。 静态构造函数为类所私有,不能再添加修饰符和使用参数。值得注意的是类的静态构
2、造函数在程序域中至多执行一次,只有在创建类的实例或者引用类的任一个静态成员时才会激发静态构造函数,而且它在创建类的第一个实例之前调用。常用于对静态字段、只读字段等的初始化。 const变量和static readonly变量,它们都表示不能被修改的常量。const变量是编译时常量,声明时就必须初始化,编译期所有变量引用将被实际值所替换,它即可以修饰类成员也可以修饰局部成员。而static readonly变量是运行时常量,可在声明时也可在构造函数中进行初始化,只能修饰类成员。对于引用类型的常量,const变量的值只能是string和null,static readonly变量可以是任何类型。如果重定义了某个const变量的值,则需要重新编译客户端程序方可生效,而static readonly变量值发生改变则无需重新编译客户端程序,这是二者很重要的一点区别static关键字使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员。static 修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数或类以外的类型 常数或者类型声明隐式地是静态成员
3、。 在类中使用静态成员时,可以直接使用 不需要加类名.静态成员名 不能通过实例引用静态成员。然而,可以通过类型名称引用它。例如,请考虑以下类lic class MyBaseC public struct MyStruct public static int x = 100; 若要引用静态成员 x,请使用完全限定名(除非可从相同范围访问):C.MyStruct.x 尽管类的实例包含该类所有实例字段的单独副本,但每个静态字段只有一个副本。 不可以使用 this 来引用静态方法或属性访问器。 如果对类应用 static 关键字,则该类的所有成员都必须是静态的。 类(包括静态类)可以有静态构造函数。在程序开始和实例化类之间的某个时刻调用静态构造函数。C+的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。 一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:/Example
4、 1#include void fn();static int n; /定义静态全局变量void main()n=20;coutfn();void fn()n+;cout静态全局变量有以下特点: 该变量在全局数据区分配内存; 未经初始化的静态全局变量会被程序自动初始化为0(自动变量的值是随机的,除非它被显式初始化); 静态全局变量在声明它的整个文件都是可见的,而在文件之外是不可见的; 静态变量都在全局数据区分配内存,包括后面将要提到的静态局部变量。对于一个完整的程序,在内存中的分布情况如下图:- | 代码区 |-| 全局数据区|- | 堆区 |-| 栈区 |- 一般程序的由new产生的动态数据存放在堆区,函数内部的自动变量存放在栈区。自动变量一般会随着函数的退出而释放空间,静态数据(即使是函数内部的静 态局部变量)也存放在全局数据区。全局数据区的数据并不会因为函数的退出而释放空间。细心的读者可能会发现,Example 1中的代码中将static int n; /定义静态全局变量改为 int n; /定义全局变量程序照样正常运行。的确,定义全局变量就可以实现变量在文件中的共享,但定义静态
《static关键字》由会员小**分享,可在线阅读,更多相关《static关键字》请在金锄头文库上搜索。
2020年高考真题——理科综合(全国卷Ⅲ)+Word版含答案
2021年绝味鸭脖策划书
2021年熟食店创业方案
2021年熟食店开店策划
2021年卤菜店创业计划书
2021年周黑鸭网络营销策划方案
东大21年1月考试《现代设计方法》考核作业
谈我国行政管理效率的现状及其改观对策(论文)
单证员考试-备考辅导-复习资料:无贸易背景信用证案分析.docx
土木工程毕业生答辩自述.docx
建筑学毕业后工作状态真实写照.doc
C#代码规范(湖南大学).doc
xx区食药监局2019年工作总结及2020年工作计划
2019年中医院药物维持治疗门诊工人先锋号先进事迹
2019年度xx乡镇林长制工作总结
2019年性艾科工作计划书
2019年人才服务局全国扶贫日活动开展情况总结
关于组工信息选题的几点思考
摘了穷帽子 有了新模样
2019年某集团公司基层党支部书记培训班心得体会
2024-03-21 40页
2024-03-21 32页
2024-03-21 44页
2024-03-13 36页
2024-03-13 12页
2024-03-13 15页
2024-03-13 35页
2024-03-04 55页
2024-03-04 57页
2024-03-04 137页