您的位置:寻梦网首页编程乐园Java天地Core JavaJAVA程序员必读
JAVA程序员必读:基础篇(5)---类和继承
    
编译:ZSC/太平洋网络学院

5.1.7.3 初始化块实例变量

有时候,类包含了许多构造函数,并且每个构造函数允许调用者为新对象的不同实例变量提供不同的初始数值。比如,java.awt.Rectangle就有三个构造函数:

Rectangle();

Rectangle(int width, int height);

Rectangle(int x, int y, int width, int height);

没有参数的构造函数没有让调用者提供初始数值,而另外的两个构造函数让用户设置初始数值(大小与原点)。然而,所有的实例变量都必须初始化。在本例子中,构造函数完成了这些初始化工作。比如以上的这三个构造函数是这样初始化的:

Rectangle() {

this(0,0,0,0);

}

Rectangle(int width, int height) {

this(0,0,width,height);

}

Rectangle(int x, int y, int width, int height) {

this.x = x;

this.y = y;

this.width = width;

this.height = height;

}

Java语言支持实例初始化块,但是它不能用在无记录类(不能声明构造函数)中。使用构造函数比较好的原因有:

  1. 所有的初始化代码放置在一起,这样使得代码更容易维护和阅读。
  2. 缺省值可以显性地处理。

程序员广泛使用构造函数,即使JAVA的新手也是一样。而实例初始化程序可能导致有些程序员对代码的阅读感到困难。

[上一页] [下一页]