java static关键字静态代码块详解,实例分享

KLQ 2020-09-11 10:30:27 java常见问答 7604

前面的话给大家介绍一下java static关键字静态方法,那么下面的文章要接着给大家介绍的就是java static关键字静态代码块方面的知识,主要介绍了概念特点以及实例。

1、什么是静态代码块?

静态代码块指的就是Java类当中static{ }代码块,主要用于初始化类,为类的静态变量赋初始值,提升程序性能。

2、静态代码块特点:

静态代码块类似于一个方法,但它不可以存在于任何方法体中。

静态代码块可以置于类中的任何地方,类中可以有多个静态初始化块。

Java虚拟机加载类的时候执行静态代码块,所以很多时候会将一些只需要进行一次的初始化操作都放在static代码块中进行。

如果类中包含多个静态代码块,则Java虚拟机将按它们在类中出现的顺序依次执行它们,每个静态代码块只会被执行一次。

静态代码块与静态方法一样,不能直接访问类的实例变量和实例方法,而需要通过类的实例对象来访问。

3、实例

编写一个Java类,在类当中定义一个静态变量,之后使用静态代码块修改静态变量的值。

最后在main()方法当中进行测试和输出。

public class StaticCode {
public static int count = 0;
{
count++;
System.out.println("非静态代码块 count=" + count);
}
static {
count++;
System.out.println("静态代码块1 count=" + count);
}
static {
count++;
System.out.println("静态代码块2 count=" + count);
}

public static void main(String[] args) {
System.out.println("*************** StaticCode1 执行 ***************");
StaticCode sct1 = new StaticCode();
System.out.println("*************** StaticCode2 执行 ***************");
StaticCode sct2 = new StaticCode();
}
}

上面的代码为了说明静态代码块只被执行一次,特地添加了非静态代码块作为对比,并在主方法中创建了两个类的实例对象。

运行结果:

静态代码块1 count=1
静态代码块2 count=2
*************** StaticCode1 执行 ***************
非静态代码块 count=3
*************** StaticCode2 执行 ***************
非静态代码块 count=4

在上面的程序当中,{ }代码块为非静态代码块,非静态代码块是在创建对象时自动执行的代码,不创建对象不执行该类的非静态代码块。

代码域当中定义的变量都是局部的,只有域中的代码可以调用。

对于字静态代码块的相关java基础知识就给你分享到这里了,更多相关内容,可以继续的通过关注奇Q工具网来进行了解哦。

推荐阅读:

java static关键字静态变量实例分享

java static关键字静态变量详解,静态变量和实例变量区别介绍

java static关键字静态方法详解,静态方法实例分享