java中的局部代码块、静态代码块、构造代码块和构造方法

java中的局部代码块、静态代码块、构造代码块和构造方法(更新中...)

一、局部代码块

  基本概念:局部位置,用于限定变量的生命周期,提高内存利用率

二、静态代码块

  基本概念:类中方法外,采用static修饰,用于对类进行初始化操作

  特点:

    1.只执行一次

三、构造代码块

  基本概念:类中方法外(成员位置),用"{}"括起来的java程序代码,每次在调用构造方法前,都会执行构造代码块,用于对对象进行初始化操作

  特点:

    1.每次创建对象,调用构造方法前都会执行!

四、构造方法

  基本概念:用于对类进行初始化,创建对象

  特点:

    1.每次创建对象,都会执行一遍

五、代码

package com.test;

public class Test02 {
    //静态代码块:类中方法外,加static修饰,用于给类进行初始化
    static{
//        int a=10;
        System.out.println("静态代码块");
    }
    
    //构造代码块:类中方法外,用{}括起,每次调用构造方法前执行,用于给对象进行初始化
    {
        System.out.println("构造代码块");
    }
    
    //构造方法
    public Test02(){
        System.out.println("无参构造");
    }
}

class test{
    public static void main(String[] args) {
        {
            System.out.println("局部代码块");
        }
        Test02 t2 = new Test02();
        Test02 t3 = new Test02();
    }
}

  执行结果:可见静态代码块只执行一次,无论你创建多少个对象;每次在创建对象之前,都会执行构造代码块,然后执行构造方法!

六、常见面试题

  1.静态代码块、构造代码块、构造方法执行顺序是什么?

    答:执行顺序是:静态代码块->构造代码块->构造方法。特点:静态代码块只执行一次,构造代码块在每次调用构造方法之前都会执行!

原文地址:https://www.cnblogs.com/xiaoguoniu/p/12607688.html