前面的话给大家介绍一下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工具网来进行了解哦。
推荐阅读: