2007年8月9日星期四

Core Java2 6th 摘要(2)

Java中的构造器其工作方式和C++中的不一样,不过,要记住,所有的Java对象都是在堆中被构造的,而且构造器必须和new一起使用。
Employee number007("adai"); // 适用于C++,不适用于Java

注意不要返回指向可变对象的引用的访问方法。
如果需要返回一个指向可变对象的引用,我们首先需要克隆(clone)它。一个克隆是一个对象放在新位置的精确拷贝。

静态方法是不向对象施加操作的方法,所以不能用一个静态方法来访问实例字段,但是静态方法可以访问自身类中的静态字段。
public static int getID() {......}
对静态方法的调用需要使用类的名字。
用static定义的变量、方法属于类,而不属于此类的特定对象。

只有在类中没有其他构造器时,系统才会提供默认构造器。如果你编写的类中有一个自己编写的构造器,而且又希望使用你的类的用户通过调用new ClassName()来创建类的实例,那你就必须提供一个默认构造器(没有参数)。当然,如果你喜欢把所有字段设置为默认值的话,你只用简单的提供 public ClassName() {}

构造器执行之前,赋值会先被执行。

构造器调用其他构造器:
如果构造器的第一个语句具有形式this(...),那么这个构造器将调用同类中的其他构造器。

如果需要在资源使用完毕后立即关闭资源,那就需要对它进行手工管理。对需要清除的资源使用dispose方法。重要的是,如果你使用的类含有 dispose方法,你需要在对象操作完后调用这个方法。尤其是,如果类的某个实例字段含有dispose方法,要提供一个释放此实例字段的 dispose方法。

只能使用*符合引入一个包。不能使用import java.*或是import java.*.*来引入所有以java为前缀的包。
只能引入类,不能引入对象。

类设计的技巧:
1. 一定要让数据私有。
2. 一定要初始化数据。
3. 不要在类中过多使用基本类型。
4. 并非所有字段都需要独自的字段访问方法和更改方法。
5. 为类定义使用标准格式。
6. 分解职责太多的类。
7. 让类和方法的名字反映它们的职责。

没有评论: