static 什么时候用?
1 . 静态变量
- 当分析对象中所具备的成员变量的值是相同的,此成员可以被静态修饰。
- 只要数据在对象中都是不同的,就是对象的特有数据,必须存储在对象中,是非静态的。
2 . 静态函数
- 判断是否用静态修饰,只需要参考该函数是否有访问对象中的特有数据即可。
静态代码块
用法:
public class Demo{ public static void main(String[] args){ new StaticCode().show(); new StaticCode().show(); }} class StaticCode{ //随着类的加载而执行,而且只执行一次。 static{ System.out.println("我是静态代码块~"); } void show(){ System.out.println("我是show方法"); }}
输出结果:
我是静态代码块~我是show方法我是show方法
作用
- 对类进行初始化,当类中变量与方法全部为静态的时,构造函数无法对此类进行初始化,因为此类为静态的,没有对象~
如:
public class Demo{ public static void main(String[] args){ StaticCode.show(); StaticCode.show(); }} class StaticCode{ //随着类的加载而执行,而且只执行一次 static{ System.out.println("我是静态代码块~"); } static void show(){ System.out.println("我是show~"); }}
输出结果:
静态代码块我是show~我是show~