静态之字段与属性
static 关键字,用于修饰类,字段,属性,方法,构造方法等。被 static 修饰的类称之为“静态类”;
被 static 修饰的成员称之为“静态成员”,被修饰过的成员分别称为:静态字段,静态属性,静态方法,静态构造方法。
1.概念
被 static 关键字修饰的字段,叫做“静态字段”。
静态字段不属于任何对象,只属于类,必须要用 类名.静态字段名进行访问,反过来通过 对象名.静态字段名 的方式是访问不到静态字段的。
2.注意事项
静态字段是可以重新赋值的,类名.静态字段名 = 新的值;
静态字段存储的数据在内存中只有一份;
实例(对象)字段在内存中会有 N 份,有多少对象就会有多少实例字段;
1.概念
被 static 关键字修饰的属性,叫做“静态属性”。
静态属性用于对静态字段进行封装,并保证静态字段值的合法性;静态属性使用 类名.静态属性名 进行访问;
2.注意事项
静态属性不能用于封装非静态字段,因为静态的类成员是先于非静态的类成员存在的。在还没有对象之前,静态类成员就已经存在了。
1.概念
被 static 修饰的方法,叫做静态方法。
直接使用 类名.静态方法名 进行访问。
2.注意事项
控制台程序的 Program 入口类中的 Main 函数就是一个静态方法;在静态方法中不能调用非静态方法。
1.概念
静态构造方法的作用是用于初始化静态成员。
一个类只能有一个静态构造方法,该静态方法没有任何访问修饰符,也没有参数。可以定义在静态类中,也可以定义在非静态类中。
2.注意事项
静态构造方法会在程序创建第一个实例,或者引用任何静态成员之前,完成类中静态成员的初始化。
1.概念
当类中的成员全部是静态成员的时候,可以把这个类声明为静态类。声明静态来需要在 class 关键字前加静态关键字 static。
2.注意事项
静态类中不能存在非静态(实例)成员;
静态类不能实例化对象。