在Java中,构造器和初始化块都用于初始化对象的状态。但它们之间存在一些关键区别:
定义方式:
{}包围。初始化块分为两种:静态初始化块和实例初始化块。静态初始化块使用static关键字,实例初始化块不使用任何关键字。执行顺序:
用途:
调用方式:
new关键字调用相应的构造器。下面是一个简单的示例,演示了构造器和实例初始化块的区别:
public class MyClass {
static {
System.out.println("静态初始化块");
}
{
System.out.println("实例初始化块");
}
public MyClass() {
System.out.println("构造器");
}
public static void main(String[] args) {
System.out.println("创建对象");
new MyClass();
new MyClass();
}
}
输出结果:
静态初始化块
创建对象
实例初始化块
构造器
实例初始化块
构造器
从输出结果可以看出,静态初始化块只在类加载时执行一次,而实例初始化块在每次创建对象时都执行,并且在构造器之前执行。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。