static关键字知识点总结
使用static有以下注意事项
下面介绍一下static关键字的一些特性
static可以修饰成员变量,成员方法,代码块以及类
1.static可以修饰成员变量
1使用static修饰变量 的时候,只需要记住一种调用方式,类名.变量名,虽然用对象也可以调用static变量,但是使用对象调用不规范
2static修饰的成员变量随着类的加载而加载,也就是说,static是在对象出现之前就已经加载成功
3内存分析:只要是static修饰的成员变量,都是在编译阶段被加载到了内存的数据区,这个过程是早于对象创建的,整个数据区静态的成员属性是伴随着程序的结束而结束
2.static可以修饰成员方法
声明方式:加static修饰符
注意事项
1静态的成员方法可以通过类名调用
2内存分析:静态的成员方法随着class文件的加载而加载,在编译阶段加载到方法区,静态方法的创建要早于对象的创建
3静态的成员方法不能使用非静态的成员属性和成员方法。这是因为静态方法的创建要早于对象的创建,非静态的属性和方法是对象创建的时候才调用的
4静态方法不能被重写
5静态方法中可以创建对象,比如main方法
3.static可以修饰代码块【静态代码块】
语法格式:
static{}
注意:类文件只有被加载,静态代码块一定会被加载
静态代码块时由于对象的创建
使用静态代码块的目的:在实例化对象之前,做一些准备工作
执行顺序:静态代码块》构造代码块》构造方法
静态代码块只被加载一次
4.static可以修饰类