zoukankan      html  css  js  c++  java
  • Java——代码块

    一、代码块的种类

    在Java语言中,类中是可以包含5种内容的,如下

    1. 成员变量
    2. 成员方法
    3. 构造器
    4. 代码块
    5. 内部类

    代码块分为3种,分别是静态代码块、构造代码块、局部代码块

    二、构造代码块

    2.1、如何定义

    在类中方法外定义一个大括号。

    public class Student {
        {
            // 构造代码块
        }
    }
    

    2.2、执行特点

    会在每一个构造方法执行前,执行一次。

    2.3、作用

    如果每个构造方法有重复的逻辑时。比如可以非静态常量做赋值。实际工作中用的地方不是很多。

    三、静态代码块

    3.1、如何定义

    直接在构造代码块上加上static关键字

    public class Student {
        static {
            // 静态代码块
        }
    }
    

    3.2、执行特点

    随着类加载到内存,会执行一次(类加载到方法区初始化的时候就会执行静态代码块)。

    3.3、作用

    可以对静态变量,或者静态常量进行初始化值 

    四、局部代码块

    4.1、如何定义

    任何局部代码位置都可以定义局部代码块,就是一对大括号。静态代码块、构造代码块、方法中、构造方法中都可以定义局部代码块。

    public class Test {
        public static void main(String[] args) {
            sayHi();
        }
    
        public static void sayHi(){
            int a = 10;   // 局部变量
            {
                // ... 局部代码块
            }
        }
    }
    

    4.2、作用

    可以限定变量的作用域

    4.3、怎么找一个变量的作用域

    找到包裹变量最近的一对大括号,从这个变量定义开始到右大括号都是该变量的作用域。

    4.4.、例子

    public class Test {
        public static void main(String[] args) {
            sayHi();
        }
    
        public static void sayHi(){
            int a = 10;   // 局部变量
            {
                // ... 局部代码块
                int b = 200;
                System.out.println(a);  // 10
                System.out.println(b);   // 200
            }
            System.out.println(b);   // 报错、无法访问
        }
    }
    

      

  • 相关阅读:
    分治法的经典问题——大整数相乘
    分治法的经典问题——大整数相乘
    L2-013. 红色警报(dfs)
    L2-013. 红色警报(dfs)
    L2-012. 关于堆的判断
    L2-012. 关于堆的判断
    二进制和位运算中的异或
    2015年天勤考研机试模拟赛 A 推断三角形
    怎样利用kettle官方社区查找关于carte服务的设置
    openCV中 libopencv-nonfree-dev的安装: undefined reference to `cv::initModule_nonfree()'
  • 原文地址:https://www.cnblogs.com/xulinjun/p/14764586.html
Copyright © 2011-2022 走看看