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

 

目录
相关文章
|
算法 Linux 开发者
CMake深入解析:打造高效动态链接库路径设置
CMake深入解析:打造高效动态链接库路径设置
839 0
|
存储 Rust 并行计算
【密码学】一文读懂XTS模式
这篇文章的灵感来源于我偶然翻到的一个某U盘有关磁盘加密的一个介绍(这一篇不是广告蛤), 然后发现这个模式我之前还真没遇到过,因此呢,就学习了一下,就出来了这一篇文章。
6847 0
【密码学】一文读懂XTS模式
|
JSON Java API
玩转Spring Boot之RestTemplate的使用
在java代码里想要进行restful web client服务,一般使用Apache的HttpClient。不过此种方法使用起来太过繁琐。Spring Boot提供了一种简单便捷的内置模板类来进行操作,这就是RestTemplate。
5891 0
|
存储 算法 安全
深入解析消息认证码(MAC)算法:HmacMD5与HmacSHA1
深入解析消息认证码(MAC)算法:HmacMD5与HmacSHA1
FileLock 多进程文件锁
FileLock 多进程文件锁
219 0
|
存储 C语言
向函数传递字符串: C语言中的技术与实践
向函数传递字符串: C语言中的技术与实践
786 0
|
Unix Shell Linux
linux互斥锁(pthread_mutex)知识点总结
linux互斥锁(pthread_mutex)知识点总结
|
存储 程序员 编译器
静态链接详解
静态链接详解
|
域名解析 存储 缓存
Linux中搭建DNS 域名解析服务器(详细版)
Linux中搭建DNS 域名解析服务器(详细版)
2652 5
|
Unix Linux Shell
CMake深度解析:掌握add_custom_command,精通Makefile生成规则(三)
CMake深度解析:掌握add_custom_command,精通Makefile生成规则
2890 2