static代码块

简介:


static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块。

如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。看例子:

 

public class Test5 {
 private static int a;
 private int b;

 static {
  Test5.a = 3;
  System.out.println(a);
  Test5 t = new Test5();
  t.f();
  t.b = 1000;
  System.out.println(t.b);
 }

 static {
  Test5.a = 4;
  System.out.println(a);
 }

 public static void main(String[] args) {
  // TODO 自动生成方法存根
 }

 static {
  Test5.a = 5;
  System.out.println(a);
 }

 public void f() {
  System.out.println("hhahhahah");
 }
}


运行结果:

3
hhahhahah
1000
4
5

 

利用静态代码块可以对一些static变量进行赋值,最后再看一眼这些例子,都一个static的main方法,这样JVM在运行main方法的时候可以直接调用而不用创建实例。


原帖地址:http://lxmgfd.iteye.com/blog/1507451

 

目录
相关文章
|
7月前
|
编译器 C语言 C++
【C语言】memset()函数(内存块初始化函数)
【C语言】memset()函数(内存块初始化函数)
90 0
|
2月前
|
Python
不要在for与while循环后面写else块
不要在for与while循环后面写else块
47 0
|
6月前
|
编译器 C语言
|
7月前
|
存储 C语言 索引
c程序结构
c程序结构
42 1
|
7月前
|
存储 前端开发 编译器
【C语言】memmove()函数(拷贝重叠内存块函数详解)
【C语言】memmove()函数(拷贝重叠内存块函数详解)
106 1
|
7月前
|
存储 安全
【汇编】在代码段使用数据,在代码段使用栈
【汇编】在代码段使用数据,在代码段使用栈
407 0
【汇编】在代码段使用数据,在代码段使用栈
C++中如何调用C代码
C++中如何调用C代码
83 1
Verilog的语句块
Verilog 语句块提供了将两条或更多条语句组成语法结构上相当于一条一句的机制。主要包括两种类型:顺序块和并行块。
|
编译器 C语言 C++
在C/C++直接插入汇编代码的方法-内联汇编
在C/C++直接插入汇编代码的方法-内联汇编
707 0
在C/C++直接插入汇编代码的方法-内联汇编
|
存储 网络协议 C语言
【CSAPP】x86-64的机器代码和原始的C代码差别巨大,一些常在C语言中隐藏的处理器状态
【CSAPP】x86-64的机器代码和原始的C代码差别巨大,一些常在C语言中隐藏的处理器状态
85 0