• 代码块


    什么是代码块:
    在类或者在方法中,直接使用"{}"括起来的一段代码,表示一块代码区域。
    代码块里变量属于局部变量,只在自己所在区域内有效。
    根据代码块定义的位置的不同,我们又分成三种形式。
    ******************************************************
    1.局部代码块:直接定义在方法内部的代码块:
    一般的,我们是不会直接使用局部代码块,只不过我们会结合if, while,for,try等关键字联合,表示一块代码区域。
    **********************************************
    2.初始化代码块(构造器代码块): 直接定义在类中。
    每次创建对象的时候都会执行初始化代码块:
    每次创建对象都会调用构造器,在调用构造器之前,会执行本类中的初始化代码块。
    通过反编译之后,我们发现,初始化代码块也作为构造器的最初的语句。
    我们一般不使用初始化代码块,难看,即使要作初始化操作,我们一般在构造器中做即可,如果做初始化操作的代码比较多,此时构造器的结构比较混乱,此时专门定义一个方法做初始化,再在构造器中调用即可。
    ************************************************
    3.静态代码块,使用static修饰的初始化代码块。
    ----*********在主方法执行之前执行静态代码块,而且只执行一次。
    问题: main 方法是程序的入口,为什么静态代码块优先于main 方法。
    ===========================
    原因: 静态带成员随着字节码的加载也加载进JVM,此时main方法还没有执行,因为方法是需要JVM调用的。

    ====================================================================
    ***********一般代码块用来做初始化操作,加载资源,加载配置文件。


    静态成员是通过静态代码块的进行初始化的。
    非静态成员是通过构造器来初始化进行初始化的。

    **********************************************************************积少

  • 相关阅读:
    Java实现 LeetCode 784 字母大小写全排列(DFS)
    Java实现 LeetCode 784 字母大小写全排列(DFS)
    Java实现 LeetCode 783 二叉搜索树节点最小距离(遍历)
    Java实现 LeetCode 783 二叉搜索树节点最小距离(遍历)
    Java实现 LeetCode 783 二叉搜索树节点最小距离(遍历)
    Java实现 LeetCode 781 森林中的兔子(分析题)
    一种机制,与js类似
    图片热区
    我对 aspnetpager和repeater以及查询条件的封装
    我对webform的整改。
  • 原文地址:https://www.cnblogs.com/hello-dummy/p/9398270.html
Copyright © 2020-2023  润新知