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

      

  • 相关阅读:
    Solution: Win 10 和 Ubuntu 16.04 LTS双系统, Win 10 不能从grub启动
    在Ubuntu上如何往fcitx里添加输入法
    LaTeX 笔记---Q&A
    Hong Kong Regional Online Preliminary 2016 C. Classrooms
    Codeforces 711E ZS and The Birthday Paradox
    poj 2342 anniversary party
    poj 1088 滑雪
    poj 2479 maximum sum
    poj 2481 cows
    poj 2352 stars
  • 原文地址:https://www.cnblogs.com/xulinjun/p/14764586.html
Copyright © 2011-2022 走看看