Java 静态数据初始化是指在类被加载时执行的初始化操作,这里的数据具有静态属性,其作用域始终保持在类的整个生命周期中。静态数据的初始化可以通过两种方式:静态代码块和静态变量初始化。下面将介绍Java静态数据初始化的示例代码和攻略。
静态代码块的初始化
静态代码块在类被初始化时就会被执行,可以在里面进行对静态变量的初始化。如下是静态代码块初始化的示例代码:
public class StaticBlock {
public static String str;
static {
str = "Hello World!";
}
public static void main(String[] args){
System.out.println(StaticBlock.str);
}
}
上述示例代码使用了静态代码块的初始化方式,创建了一个名为StaticBlock
的Java类,其中定义了一个公共的静态字符串变量str
。接着,在静态代码块中,将其初始化为Hello World!
。最后,在main
方法中调用StaticBlock.str
打印输出该值。执行该程序将会得到输出为Hello World!
的结果。
另一个使用静态代码块的初始化示例代码:
public class StaticBlock {
private static int count;
static {
count = 0;
System.out.println("Static Block Called, count: " + count);
}
public StaticBlock(){
count++;
System.out.println("Constructor Called, count: " + count);
}
public static void main(String[] args){
StaticBlock sb1 = new StaticBlock();
StaticBlock sb2 = new StaticBlock();
}
}
在上述示例代码中,创建了一个名为StaticBlock
的Java类,它有一个私有静态变量count
,在静态代码块中将其初始化为0,并打印输出。接着,StaticBlock
类中有一个构造函数,它在每次被调用时将count
加1,并打印输出。最后,在main
方法中创建了两个StaticBlock
类的对象。执行该程序将会得到输出为:
Static Block Called, count: 0
Constructor Called, count: 1
Constructor Called, count: 2
说明静态代码块在类初始化时被调用,而构造函数每次被调用时都会打印输出。
静态变量初始化
除了使用静态代码块初始化静态变量,还可以直接初始化静态变量,如下是静态变量初始化的示例代码:
public class StaticVar {
public static int num = 0;
public static String str = "Java";
public static void main(String[] args){
System.out.println("num: " + StaticVar.num + ", str: " + StaticVar.str);
}
}
上述示例代码创建了一个名为StaticVar
的Java类,其中定义了两个公共静态变量num
和str
,分别初始化为0和Java
。最后,在main
方法中输出这两个静态变量的值。执行该程序将会得到输出:
num: 0, str: Java
另一个使用静态变量初始化的示例代码:
public class StaticVar {
private static String[] words = {"java", "programming", "language", "is", "fun"};
public static void main(String[] args){
System.out.println("Words: " + Arrays.toString(StaticVar.words));
}
}
在上述示例代码中,创建了一个名为StaticVar
的Java类,其中有一个私有静态字符串数组变量words
,它的内容被初始化为固定的字符串数组。最后,在main
方法中打印输出words
数组的内容。执行该程序将会得到输出:
Words: [java, programming, language, is, fun]
说明静态变量可以直接通过赋值语句进行初始化。
综上所述,Java静态数据初始化的示例代码和攻略中,介绍了静态代码块和静态变量初始化这两种方式,并分别给出了两个示例代码。静态代码块在类初始化时会被调用,而静态变量初始化只需要通过赋值语句进行即可。在实际应用中,可以根据具体的需求选择不同的方式进行静态数据的初始化。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java 静态数据初始化的示例代码 - Python技术站