java中"Static块"是怎么回事,怎么用的,有什么意义
6.Static块
Static块:该类的任何方法被首次触碰到时(马克-to-win: when you touch Test的main方法时),Static块被运行。可以在里面初始化你的static变量,不能访问实例变量。在所有静态变量初始化之后运行,见例子。
class Test1{
static {
System.out.println("Static block Test1 initialized.");
}
}
public class Test {
/*下面两句话是在静态块儿之前执行,所以它的值,被静态块儿里面赋的值所覆盖掉。马克-to-win, the following two statements are before the execution of the static block.*/
static int a = 3;
static int b;
int c;
static void cal(int x) {
System.out.println("x = " + x);
System.out.println("a = " + a);
System.out.println("b = " + b);
}
// 静态块儿Static block
static {
// c=9; 是错误的,will cause an error.
System.out.println("Static block initialized.");
a = 9;
b = a * 4;
System.out.println("a = " + a);
System.out.println("b = " + b); }
public static void main(String args[]) {
System.out.println("in main");
/* main and cal 都是静态块儿,所以可以这样调用,here main and cal is on the same class and same level, so can use in this way.*/
cal(42);
new Test1();
}
}
更多内容请见原文,文章转载自:https://blog.csdn.net/qq_44639795/article/details/103129472
最新文章
- 微软版的SqlHelper.cs类
- SSH框架
- [BZOJ3144][HNOI2013]切糕(最小割)
- Tween + 缓动函数
- HDU 4258 Covered Walkway 斜率优化DP
- 关于请求添加HttpRequestHeader
- 移动端下拉刷新、加载更多插件dropload.js(基于jQuery/Zepto)
- post和get的区别?
- 把消息送到默认窗口函数里,并非一点用都没有,可能会产生新的消息(以WM_WINDOWPOSCHANGED为例)
- 强引用,弱引用,4种Java引用浅解(涉及jvm垃圾回收)
- [Python][MachineLeaning]Python Scikit-learn学习笔记1-Datasets&;Estimators
- go单元测试进阶篇
- 基于cookie使用过滤器实现客户每次访问自登陆一次
- gVim编辑器 模板篇
- Linux中KVM桥接的配置
- HTML—标签与表格 、框架
- Android的Databinding-普通绑定
- C# 读取word2003 并且显示在界面上的方法
- @Autowired与@Resource 详细诠释和区别(附带例子)
- Javascript(es2016) import和require用法和区别