关键字 static 静态
java中的static
关键字主要用于内存管理。
变量:静态变量和实例变量
二者的内存分配不同;
静态变量,jvm只分配一次内存,在类加载中已经完成了变量内存的分配,静态变量可以被所有的实例共享。
实例变量,每次创建实例,都会为变量分配一次内存。
二者的访问方式不同;
在类里边两种变量的访问方式一样可以直接访问;
在类外边,静态变量需要通过类名访问静态变量,实例变量通过类实例访问实例变量。
静态变更加节省内存,更高效。
方法:静态方法和实例方法
静态代码块:static{} 修饰的代码,用于为类的静态变量赋初始值。
执行:在类加载中完成执行;
类似方法,但是不能存在任何一个方法体内;
多个静态代码块,按类中的顺利执行且执行一次;
不能直接访问实例变量和实例方法,需要通过实例去访问。
静态类;被static修饰的类是静态类;
静态内部类、不同内部类