“构造”一词来自于英文 “Constructor”,中文常译为“构造器”又称为构造函数 (C++中或构造方法( Java 中)。构造方法与普通方法的差别在于,构造方 法是专用于在构造对象时初始对象成员的,其名称和其所属类名相同。下面详细介绍构造方法的创建和使用。
构造方法的概念
所谓构造方法,就是在每一个类中定义的,并且是在使用关键字 new 实例化一个新对象时默认调用的方法。在Java 程序里,构造方法所完成的主要工作,就是对新创建对象的数据成员赋初值可将构造方法视为一种特殊的方法。
在使用构造方法的时候需注意以下几点:
- 构造方法名称和其所屆的类名必须保持一致。
- 构造方法没有返回值,也不可以使用 void。
- 构造方法也可以像普通方法一样被重载
- 构造方法不能被 static 和final 修饰。
- 构造方法 不能被继承,子类使用父类的构造方法需要使用 super 关键字。
构造方法除了没有返回值,且名称必须与类的名称相同之外,它的调用时机也与普通方法有所不同。普通方法是在售要时才调用,而构造方法则是在创建对象时就自动“隐式”地执行。因此,构造方法无需在程序中直接调用,而是在对象产生时自动执行一次。通常,用它来对对象的数据成员进行初始化。下面的范例说明了构造方法的使用。
public class TestConstruct {
public static void main(String[] args) {
Person3 p = new Person3(13);
p.show("java构造方法的演示");
}
}
class Person3{
public Person3(int x){
a = x;
System.out.println("构造方法被调用。。");
System.out.println("a="+a);
}
public void show(String msg){
System.out.println(msg);
}
private int a;
}
运行程序结果
需要注意的是,在类中声明的构造方法,会在实例化对象时自动调用且只被调用一次