1、静态代码块是类的代码,非静态代码块是对象的代码。
2、静态代码块是static修饰的代码块,反之没有用static修饰的代码块为非静态代码块。
3、静态代码块只在第一次new时执行一次,之后不再执行。
而非静态代码块每new一次就执行一次。静态代码块 > 非静态代码块
class Demo {
static {
System.out.print(" 静态代码块 ");
}
{
System.out.print(" 非静态代码块 ");
}
}
本文详细介绍了Java中静态代码块与非静态代码块的区别和执行顺序。静态代码块仅在类加载时执行一次,而非静态代码块在每次创建对象时都会执行。在类的生命周期中,静态代码块先于非静态代码块执行,这对于理解和优化Java程序的初始化过程至关重要。
277





