对Java静态代码块的理解

    xiaoxiao2021-04-12  31

           Java中静态代码块就是在类加载时会初始化的代码块,是主动执行的;         而非静态代码块是在创建对象时才会被执行,不创建对象则不执行;         执行顺序为:静态代码块------>非静态代码块------>构造函数;         静态代码块在类加载后只执行一次,而非静态代码块则会随着构造方法的调用来执行         以下是对静态代码块和非静态代码块的测试        public class StaticTest { public static int id=1001;//静态变量 //public int w; //非静态变量 static { id++; //w=20; 静态初始化块只能给静态变量赋值,不能初始化非静态变量W System.out.println(id ); } //普通代码块 { int a=20; System.out.println(a); } //普通代码块1 { int b=30; System.out.println(b); } public static void main(String[] args){ //构造方法在执行之前,会先 //执行普通代码块,就是普通代码块的书写顺寻 //构造方法执行之前也会先执行静态代码块 //1、静态代码块(静态代码块只执行一次) //2、普通代码块 //3、构造方法 new StaticTest(); new StaticTest(); } }        初学Java,望大牛指点!
    转载请注明原文地址: https://ju.6miu.com/read-667508.html

    最新回复(0)