类成员可以是静态成员或者是实例成员。静态成员属于类,实例成员属于对象。静态字段的值对于每一个对象都是相同的,而每一个对象的实例字段的值可以都不相同。
类成员类型
- 字段 字段是类的数据成员,它是类型的的一个变量,该类型是类的一个成员。
- 常量 常量是一个固定的不可更改的值,编译器在编译时会使用真实值代替常量,所以常量在内存中没有储存位置。
- 方法 方法就是与特定类相关联的函数。
- 属性 属性是一个或一对方法。
- 构造函数 构造函数是在实例化对象时自动调用的特殊函数。
- 析构函数 CLR在检测时不需要对象时就会调用析构函数。
- 运算符
- 索引 索引器允许对象用访问数组的方式访问。
- 事件 当类发生某些行为时,事件可以通知调用方。
字段、常量和事件是类的数据成员,其他类型是类的非数据成员。
类成员声明语句
类成员声明语句由三部分组成:核心声明、可选的修饰符和可选的特性。
1.如果有修饰符,必须放在核心声明之前。
2.如果有多个修饰符,要有序放置。
3.如果有特性,必须放在修饰符和核心声明之前。
4.如果有多个特性,可以是任意顺序。
静态成员
1.静态字段被类的所有实例共享,所有实例都访问同一内存位置。
2.静态成员即使没有类的实例也存在,如果静态字段有初始化语句,
那么静态字段在类的任何静态成员被使用之前初始化。
3.静态函数成员不能访问实例成员。然而,它们可以访问其他静态成员。
4.可以声明为static的类成员类型(字段,方法,属性,构造函数,运算符,事件)
不能声明为static的类成员类型(常量,索引,析构函数)
属性
属性是指定的一组两个匹配的、称为访问器的方法。
1.set访问器用于为属性赋值。
2.get访问器用于从属性获取值。
3.和属性关联的字段常被成为后备字段或后备储存。
4.静态属性不能访问类的实例成员,但是可以被实例成员访问。
5.静态属性不管类是否实例化,都存在。
6.当从类的外部访问时,必需使用类名引用,而不是实例名。