静态代码块是在类加载的时候执行的,并且只执行一次,此时还没有生成对象,也没有对类进行一些什么操作,所以你所说的在静态代码块里写什么异常处理 while循环也没什么意义了。静态代码块主要完成一些初始化的工作。关于静态代码: 1)static代码块:静态代码块。 静态代码块的作用也是完成一些初始化工作。首先执行静态代码块,然后执行构造方法,静态代码块在类被加载的时候执行,而构造方法是在生成对象的时候执行;所谓加载类,即是,要想调用某个类来生成对象,首先需要将类加载到Java 虚拟 机上( JVM),然后由JVM 加载这个类来生成对象。
2)类的静态代码块只会执行一次,是在类被加载的时候执行的,因为每个类只会被加载一次,所以静态代码块也只会被执行一次 而构造方法则不然,每次生成一个对象的时候都会调用类的构造方法,所以 new 一次就会调用构造方法一次。
3)如果继承体系中既有构造方法,又有静态代码块,那么首先执行最顶层的类的静态代码块,一直执行到最底层类的静态代码块 然后再去执行最顶层类的构造方法,一直执行到最底层类的构造方法。 注意:静态代码块只会执行一次。
|