第二章、类的静态成员
1、专业单词
| 单词 | 释义 |
|---|---|
| static | 静态的 |
| instance | 实例 |
| field | 字段 |
| method | 方法 |
2、类的成员
类有数据成员或方法成员,还可划分为实例成员和静态成员
-
字段(field)成员:是描述状态的数据成员
-
方法(method)成员:是描述操作的行为成员
-
静态(static)成员:用static关键字修饰的字段或函数成员
-
实例(instance)成员:没有用static关键字修饰的字段或函数成员
3、静态字段
-
静态字段是被static关键字修饰的字段,静态字段属于类所有,被这个类的所有对象共享,通过”类名.静态字段名”来访问。
类中定义静态字段语法:
class 类名
{
[访问修饰符] static 数据类型 字段名;
}
class Student
{
//定义静态字段
public static string school ="计算机大学";
//访问静态字段
Console.WriteLine("Hello,大家好!\n我是{0}学生",Student.School)<---其他类中
}
4、静态方法
-
静态方法是被static关键字修饰的方法,同样静态方法也属于类所有,被这个类的所有对象共享,通过”类名.静态方法名(实参列表)”来访问。
类中定义静态方法语法:
class 类名 { [访问修饰符] static 返回值类型 方法名(形参列表); } class Student { public static string school ="计算机大学"; //定义静态方法 public static void ShowSchool() { Console.WriteLine("{0}欢迎您",school); } Student.ShowSchool();<---其他类中 }
5、静态成员特征
-
静态成员必须通过static关键字定义,通过类名访问。
-
在内存中,一个静态字段只标识一个储存位置,无论创建了一个类的多少个实例,它的静态字段在内存中只占同一块区域。
-
静态方法不能作用于对象,即静态方法中不能直接使用实例成员,必须创建类的对象,通过对象名引用访问,但是可以直接访问本类的静态成员。
6、实例成员特征
-
实例成员不能添加static关键字定义,通过对象名访问。
-
类的实例成员属于类的对象所有,每创建一个类的对象,都在内存中为实例字段开辟了一块区域。类的每个对象,分别包含一组该类所有实例字段的副本。
-
类的实例方法直接作用于类的对象,在实例方法中可以直接访问本类的静态成员和实例成员。
-
调用完后会自动释放,节省内存空间。
7、编程时,如何选择使用实例成员还是静态成员
-
对于字段来说,比如你有一个兄弟,你们公用一台电脑,那么这台电脑就是静态成员;你有一本C#的书,你的兄弟也有一本C#的书,这些书是你们各自拥有的,和别人互不相关,这些书就是实例成员。
-
对于方法来说,使用静态方法是有好处的,因为静态方法只维护一份拷贝,所以无论你有多少个实例,内存中都只会有一份拷贝。如果一个类是一个辅助类,如字符串类、数据库操作类,有很多方法来实现字符串的各种操作的,并且使用频繁,那么这个时候定义的方法最好是静态的,这样不需要每次使用这些方法的时候都实例化对象,而只需要静态调用就好。针对具体对象应用的,使用的少的方法用实例的。因为静态的速度快,但占内存,就像是缓存一样,经常用的数据我们应该将他们缓存起来。实例方法的调用速度相对慢些,但调用完后,会立即释放类,节省内存。

浙公网安备 33010602011771号