标题 静态代码块与静态成员变量还要看代码的先后顺序
看程序,说出结果
结果为:
x=0
看程序,说出结果
结果如下:
补充 :
静态代码块:static{ } 在JVM加载时即执行,先于主方法执行,用于类的属性初始化
注意:静态代码块不能存在于任何方法体中
构造代码块:{} 放于类中,在构造方法调用时先于构造中其他代码执行
局部代码块:{} 放于某方法中,用于缩短变量生命周期 以释放空间
package com.swift.gouzaodaimakuai; public class Gouzaodaimakuai { public static void main(String[] args) { Gouzao gouzao = new Gouzao(3); //构造代码块在构造函数被调用时执行, 先于构造中其他代码,作用是给对象统一初始化数据; System.out.println(gouzao); } } class Gouzao{ int id; String name; { this.id= 5; this.name = "测试"; System.out.println("这是构造代码块"); } Gouzao(int id){ this.id = id; } public String toString(){ return "name: "+this.name +" , "+"id: "+ this.id ; } }