Java-Static
1 static
1.1 概念
static是一个修饰符关键字,用来区别静态和成员属性
1.2 作用
类体中使用static修饰的变量是静态变量
类体中使用static修饰的方法是静态方法
类体中使用static修饰的语句块是静态语句块(一个大括号就是一个语句块,语句块就是多条语句的结合,方法就是有名字的语句块)(static{}就是静态语句块)(静态语句块没有名字,自动执行(最先执行)并且只执行一次,不能手动调用)(适合做初始化工作)
注意: 最先执行(在main方法之前执行)
1.3 补充与说明
静态变量和静态方法都是在加载阶段进行初始化时执行,而main方法是在加载完之后进入运行时才会执行,所以静态变量和静态方法的优先级大于main方法
类加载:访问一个类的静态属性的时候,会把该类载入到内存中
1.4 实例语句块
一个大括号就是一个实例语句块,等同于成员方法,只是没有名字
因为成员属性需要依赖于对象,所以创建对象之后立即执行,并且创建一次对象就执行一次
适合于做对象的初始化操作,在构造方法之前
1.5 静态和成员
当所有对象拥有相同的属性和值时使用静态变量
当所有对象拥有相同的属性时(值可以相同,可以不同)使用成员变量
当一个方法中有非静态的引用(使用了成员属性),需要使用成员方法
当一个方法中没有成员属性的引用,可以使用静态方法