静态类
关键词 static
静态成员
成员:字段、属性、方法
静态:跟对象没有任何关系,只跟类有关系
静态成员在何时开辟的内存
第一次访问这个类的时候【第一次用到这个类的时候】
比如:用这个类名去实例化一个对象
比如:用这个类名去访问一个静态字段
静态的成员在何时释放内存
在程序结束的时候才会释放
普通的实例成员,每有一个对象,就有一个该成员
而静态成员,跟对象没有关系,所以无论有多少个对象,静态成员都只有一个
例:实例成员【name】,每有一个人,就会有对应的名字
而静态成员【Population】,跟对象没有关系,无论有多少个实例对象,人口数量 只有一个
静态类中是不可以访问非静态的成员的
不能访问非静态的字段、属性
不能调用非静态的方法
非静态类中是可以访问静态成员的
能访问静态的字段、属性
能调用静态的方法
静态方法是可以有重载的
静态类
静态成员可以放在静态类中,也可以放在非静态类中
静态类中只能存在静态成员,不能存在非静态的成员
静态类是不能实例化的
静态构造函数
只有一种写法
static 类名 ()
静态构造函数必须无参数
静态构造函数在什么时候才会调用
静态构造函数在程序运行期间只会执行一次
在第一次访问该类的时候调用
用这个类去new一个对象
用这个类去访问某个静态成员
用这个类去调用某个静态方法
如果有继承关系
静态构造函数的执行顺序是:
先执行子类的静态构造,再执行父类的静态构造
静态构造有什么作用
一般用于对静态成员进行初始化