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.静态代码块、构造代码块、构造方法执行顺序是什么?
答:执行顺序是:静态代码块->构造代码块->构造方法。特点:静态代码块只执行一次,构造代码块在每次调用构造方法之前都会执行!