第7章复用类
1. toString()
每一个非基本类型都有一个toString()方法;当编译器需要从对象获取一个string时,该对象的toString()方法就会被调用。
示例:
class WaterSource {
private String s;
WaterSource() {
s = "WaterSource Constructed";
}
public String toString() {return s;}
public static void main(String[] args) {
WaterSource w = new WaterSource();
System.out.println(w);
}
}
打印的结果是:
WaterSource Constructed
2.继承
当创建一个类时,总是在继承。因此,除非已经明确指出要从其他类中继承,否则就是在隐式的从JAVA的标准根类Object进行继承。
继承的关键字:extends
关键字super表示超类(或者基类)的意思。因此,表达式super.scrub()将调用超类的scrub()方法。
3.初始化基类
在构造器中调用基类构造器来执行初始化,而基类构造器具有执行基类初始化所需要的所有知识和能力。
对于无参数的基类构造器,会被派生类默认调用;
对于带参数的基类构造器,派生类必须使用关键字super显示地调用,并配以适当的参数。
4.try与finally
try {
...
}
finally {
...
}
关键字try表示,下面的块(用{}括起来的代码)是所谓的保护区,这意味着它需要被异常处理。其中一项特殊的处理是无论try块怎样退出的,保护区后的finally子句中的代码总是要被执行的。这里的finally子句表示的是“无论发生什么事,一定要执行后面跟着的块”。