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);   // 报错、无法访问
    }
}

  

posted @ 2021-05-13 14:59  徐林俊  阅读(206)  评论(0编辑  收藏  举报