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

最新文章

  1. 微软版的SqlHelper.cs类
  2. SSH框架
  3. [BZOJ3144][HNOI2013]切糕(最小割)
  4. Tween + 缓动函数
  5. HDU 4258 Covered Walkway 斜率优化DP
  6. 关于请求添加HttpRequestHeader
  7. 移动端下拉刷新、加载更多插件dropload.js(基于jQuery/Zepto)
  8. post和get的区别?
  9. 把消息送到默认窗口函数里,并非一点用都没有,可能会产生新的消息(以WM_WINDOWPOSCHANGED为例)
  10. 强引用,弱引用,4种Java引用浅解(涉及jvm垃圾回收)
  11. [Python][MachineLeaning]Python Scikit-learn学习笔记1-Datasets&Estimators
  12. go单元测试进阶篇
  13. 基于cookie使用过滤器实现客户每次访问自登陆一次
  14. gVim编辑器 模板篇
  15. Linux中KVM桥接的配置
  16. HTML—标签与表格 、框架
  17. Android的Databinding-普通绑定
  18. C# 读取word2003 并且显示在界面上的方法
  19. @Autowired与@Resource 详细诠释和区别(附带例子)
  20. Javascript(es2016) import和require用法和区别

热门文章

  1. C#读写自定义的多字段配置文件
  2. .NetCore Web Api 利用ActionFilterAttribute统一接口返回值格式
  3. 矩池云利用ipykernel为JupyterLab添加kernel以及展示出来
  4. linux作业--第八周
  5. linux curl 的用法指南
  6. Laravel-Auth认证
  7. 网站SQL注入防御实战
  8. MySQL — 索引
  9. SSM(Spring+SpringMVC+MyBatis)框架整合开发流程
  10. Java并发机制(1)--线程状态与方法(转)