java对象init方法和构造方法的区别
时间: 2024-03-30 08:34:46 浏览: 353
详谈jvm--Java中init和clinit的区别
Java中的构造方法和init方法都是用来初始化对象的方法,但是二者之间有以下的区别:
1. 构造方法是在对象被创建时调用,而init方法是在对象被反序列化后调用或者是在对象被创建后调用。
2. 构造方法只能被调用一次,而init方法可以被多次调用。
3. 构造方法是由Java虚拟机自动调用的,而init方法是由程序员显式调用的。
4. 构造方法没有返回值类型,而init方法可以有返回值类型。
总的来说,构造方法是用来初始化对象的基本数据成员和调用父类构造方法的,而init方法是用来完成对象的一些额外初始化工作的,比如初始化一些非基本数据类型的成员变量。
阅读全文