zoukankan      html  css  js  c++  java
  • AJPFX关于代码块的总结

    代码块:
            {
                    执行语句;
            }
    (1) 当出现在局部位置时, 为局部代码块.
            局部位置: 如语句块中, 函数中, 构造代码块中, 静态代码块中等.
    (2) 当出现在成员位置且不被static修饰时, 为构造代码块.
    (3) 当出现在成员位置且被static修饰时, 为静态代码块

    1. 局部代码块
            可用于定义局部变量的生命周期. 
            也即通过局部代码块可以控制局部变量的生命周期.
            变量的生命周期{}

            "变量的作用域: 声明变量的一对{}之间"这句话对于局部代码块来说, 
            声明在局部代码块中的变量, 其声明周期仅限于该局部代码块. // 局部代码块中的局部变量

    2. 构造代码块/instance initializer
            构造代码块用于完成所有实例的初始化工作.
            每创建一个该类的实例对象, 便顺序执行一次该类的所有构造代码块.
            构造代码块在对象的生命周期内肯定执行且只执行一次.

            一个类可以有多个构造代码块, 各构造代码块按照声明的先后顺序执行.

            "变量的作用域: 声明变量的一对{}之间"这句话对于构造代码块来说, 
            声明在构造代码块中的变量, 其声明周期仅限于该构造代码块. // 构造代码块中的局部变量

    3. 静态代码块/ static initializer
            静态代码块用于完成类的初始化工作.
            当且仅当类加载时执行. 在类的生命周期内只执行一次.

            一个类可以有多个静态代码块, 各静态代码块按照声明的先后顺序执行.

            "变量的作用域: 声明变量的一对{}之间"这句话对于静态代码块来说, 
            声明在静态代码块中的变量, 其声明周期仅限于该静态代码块. // 静态代码块中的局部变量
    --------------------------------------------------------------------------------
    变量的作用域: 声明变量的一对{}之间.
            具体情况如下:
                    声明在语句块中的变量, 其作用域为该语句块; // 局部变量
                    声明在函数中的变量, 其作用域为该函数; // 局部变量
                    声明在构造代码块中的变量, 其作用域为该构造代码块; // 局部变量
                    声明在静态代码块中的变量, 其作用域为该构造代码块; // 局部变量
                    声明在局部代码块中的变量, 其作用域为该局部代码块; // 局部变量
                    (局部代码块可以出现在语句块中, 函数中, 构造代码块中, 静态代码块中)
                    声明在类成员位置上的变量, 其作用域为整个类. // 成员变量

  • 相关阅读:
    Linux ld命令
    Linux readelf命令
    linux ar命令
    Linux升级Ruby
    Linux dkpg命令
    Linux apt-get命令
    Linux xxd命令
    Linux objdump命令
    Linux ldconfig命令
    git 删除目录
  • 原文地址:https://www.cnblogs.com/AJPFX/p/10841890.html
Copyright © 2011-2022 走看看