在前面的实例中,每个Vehicle对象的实例变量都需要使用一组语句来手动设置,例如:
Vehicle minivan = new Vehicle(); Vehicle sportscar = new Vehicle(); minivan.passengers = 7; minivan.fuelcap = 16; minivan.mpg = 21; sportscar.passengers = 2; sportscar.fuelcap = 14; sportscar.mpg = 12;
这种方法不会在专业编写的Java代码中出现.除了容易出错(可能会忘记设置某个域),还有一种更为简单,更好的方法来完成这项任务–使用构造函数.
构造函数(constructor)在创建对象时,初始化对象.他的名称和类名相同,并且在语法上与方法类似.然而,构造函数没有显式的返回类型.通常,构造函数用来初始化类定义的实例变量,或执行其他创建完整对象所需的启动过程.
无论是否定义,所有类都有构造函数,因为Java自动提供了一个默认的构造函数来初始化所有的成员变量为他们的默认值,即0,null,false.当然,一旦定义自己的构造函数,就不会再使用默认构造函数了.
下面是使用构造函数的一个简单示例:
public class test2 { // @param args public static void main(String args[]) { ChkNum e = new ChkNum(); System.out.println(e.x); } } class ChkNum { int x; ChkNum() { x = 10; } }
输出:
10