前言 : 再翻看某大神源码时 突然发现一个写法
static{
……..//省略一大堆代码
}
好奇下便研究研究此写法的意义。与大家分享下。
上代码: 首先看 class A 中的代码:
static {
System.out.println("调用了");
}
public void setStr(String str){
System.out.println("str :"+ str);
}
public static void main(String[] args) {
System.out.println("...");
}
然后看 ClassB
MyText t1 = new MyText();
t1.setStr("start");
MyText t2 = new MyText();
t2.setStr("end");
输出结果
调用了
str :start
str :end
说明 static{} 保持了方法内操作的唯一性。 适合用一些加载jni操作。 保证只操作一次,类似Application.
static{} 内的操作是走在所以当前class 内方法的最前端。 Num.1
按照我的理解呢感觉这个就像是一个静态的构造方法。//注意 构造方法是不可以静态的。