Static关键字
一,Static修饰属性
static声明的属性为静态属性(共享属性),即该属性所在类的所有实例化对象所共享的属性,该类的任何对象对其操作都会影响其他对象的使用。
初始化:Static属性在类文件被加载时初始化,普通属性在类实例化时初始化。
内存分配:Static属性只存储一个副本,普通属性在每一个实例化对象中都存在一个副本。
调用:static声明的属性可直接使用类名称调用,不需要实例化,而普通属性必须使用对象调用。
二,Static修饰方法
Static修饰的方法可以直接使用类名称调用【类名称.方法名()】。
Static方法可以使用Static声明的属性和方法,不可以使用普通属性和方法,反之普通方法可以使用Static属性和方法。原因是Static声明的属相和方法在类加载时就分配内存实例化,而普通属性和方法必须实例化对象是才分配内存。
三,Static修饰代码块
Static修饰的代码块简称静态块,执行时顺序:静态块>构造块>构造方法。
四,Static修饰类
Static目前不能直接修饰类,但可以修饰内部类,使用Static修饰的内部类就相当于外部类:
Static内部类实例化:外部类.内部类 实例名称 = new 外部类.内部类();
普通内部类实例化:外部类.内部类 实例名称 = new 外部类().new 内部类();
五,Static静态导入
在使用import导入包时可以使用Static修饰,就相当于将引入类中的所有static方法引入,可以直接使用不用加类名调用。