Java构造方法详解及对象创建过程
Java中类的构造方法修饰符类名([参数列表])[抛出的异常]{…构造体…}
构造方法命名必须与本类的类名相同。当没有定义构造方法时,系统会提供一个默认的无参构造方法,所以在一个编译生成的.class文件中,构造方法可以出现1到多个。
当定义了构造方法时,系统就不会提供默认的无参构造了。构造方法是可以重载的,只要在类中定义了两个及以上的构造方法,就会自动形成构造方法的重载。
定义类时一定要写一个无参构造,因为这个无参构造会被子类继承使用。本类不一定要使用无参构造,但子类在创建对象时需要使用构造方法。
创建对象的过程包含以下三步:
1. 申请分配堆空间:为对象的属性分配空间,空间位于JVM的堆中。
2. 初始化属性:对对象的属性进行初始化,有两种初始化方式:
- 在定义属性时直接初始化,如 private int data=1;
- 在构造方法中初始化,如 public TestInit(int m){ data=m; }
3. 执行构造方法:构造方法只能由系统调用,不能手动调用。
举例:以下是一个创建对象及属性初始化的示例代码:
java
public class TestInit {
private int data=1; // 属性直接初始化
public TestInit(int m) {
data=m; // 在构造方法中初始化
}
}
修改代码:增加初始化语句块。
代码中可以通过初始化语句块来对对象进行初始化。
java
public class TestInit {
private int data;
{
data = 5; // 初始化语句块
}
public TestInit(int m) {
data = m;
}
}
2.75MB
文件大小:
评论区