Java SE 是什么,包括哪些内容(十八)?
本文内容参考自Java8标准
再次感谢Java编程思想对本文的启发!
这篇博文主要的中心思想就是:如果在继承关系中,有必要进行清理(就是你觉得垃圾回收器都满足不了需求),那么一定记得在清理的过程中明确调用父类的清理方法去清理父类的对象,不要仅仅调用子类的清理方法,因为子类的清理方法只能清理子类的对象。
通过组合和继承方法来创建新类时,永远不必担心对象的清理问题,子对象通常都会留给垃圾回收器进行处理。如果确实遇到清理的问题,那么必须用心为新类创建dispose()(方法名称随意)方法,并且由于继承的缘故,如果我们有其他作为垃圾回收一部分的特殊清理动作,就必须在子类中覆盖dispose()方法,当覆盖父类的dispose()方法时,务必记住调用父类版本的dispose()方法,否则,父类的清理动作就不会发生。
代码示例:
// 当覆盖父类的dispose()方法时,务必记住调用父类版本的dispose()方法,
// 否则,父类的清理动作就不会发生
//类Characteristic
class Characteristic{
//String类型的类变量s
private String s;
//构造方法,带一个String类型的形式参数s
Characteristic(String s){
//为类变量s赋值
this.s = s;
//打印字符串"Creating Characteristic" + s
System.out.println("Creating Characteristic" + s);
}
//专门留给子类继承的清理方法dispose()
protected void dispose(){
//打印字符串"disposing Characteristic" + s
System.out.println("disposing Characteristic" + s);
}
}
//类Description
class Description{
//String类型的类变量s
private String s;
//构造方法,带一个String类型的形式参数s
Description(String s){
//为类变量s赋值
this.s = s;
//打印字符串"Creating Description" + s
System.out.println("Creating Description" + s);
}
//专门留给子类继承的清理方法dispose()
protected</