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

5.1.7.1初始化实例和类成员

你可以使用static初始化程序和实例初始化程序在你在类很中声明它们的时候,来为类和实例成员提供初始数值:

class BedAndBreakfast {

static final int MAX_CAPACITY = 10;

boolean full = false;

}

但是,这种初始化的形式有以下的限制:

  1. 初始化程序只可以执行初始化,这可以通过赋值语句来表达。
  2. 初始化程序不能调用任何导致异常的方法。
  3. 如果初始化程序调用一个产生异常的方法,就不能进行错误恢复了。

如果你有些初始化不能在初始化程序中完成,因为上面的这些限制,你就不得不在其它地方放置初始化代码。为了初始化类成员,在一个static初始化块中放置初始化代码。为了初始化实例成员就在构造函数中放置初始化代码。

5.1.7.2 使用static初始化块

下面是一个static初始化块的例子,如图26所示:

(图26)

这里注意,errorStrings资源束必须在static初始化块中进行初始化。这是因为错误恢复必须在束备有找到的时候才进行。同时,errorString是一个类成员,它对于构造函数中的初始化没有什么用。如前面的例子所述的,一个static初始化块是以static关键字开始的,它是一个利用大括号{和}嵌入的普通JAVA代码。

类可以有许多初始化块,并且可以出现在类实体的任何地方。系统保证static初始化块和static初始化程序按出现在源代码中的顺序被调用。

[上一页] [下一页]