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;

}

}

ppt 文件大小:2.75MB