- 想到哪记到哪
static关键字
静态变量:
- 属于一个类,而不是这个类的对象,类无论被初始化多少次 这个变量都在这个类的所有对象中共享。
- 直接通过类名来访问,不需要初始化这个类才能访问
- 静态变量存储在java虚拟机中 的元空间中
静态方法:
- 在编译时解析
- 同样属于一个类,而不是类的对象
- 静态方法不能被重写
- 成员方法可以访问静态方法和静态变量
- 静态方法可以方法其他静态方法和变量,无法访问普通方法变量
静态代码块:
- 在类加载的时候就调用,而且只会调用一次
- 帮助初始化静态变量
- 一个类可以有多个静态代码块,执行顺序和代码顺序一致
静态内部类:
- 静态内部类可以访问外部类的静态方法 静态变量
- 不能访问外部类的普通方法
- 外部类不能是static
调用静态方法、静态变量的时候jvm会去进行类加载,需要知道学习类的加载时机
类在什么时候加载,类的加载时间
- 实例化对象,new 一个对象的时候
- 访问类的静态变量
- 访问类的静态方法
- 初始化类的子类
- 虚拟机启动的时候,定义了main方法的那个类
- 反射