Effective Java 学习笔记 (11)
Clone这个方法很鸡肋,原因是因为它是受保护的(protected),其二Clone这个方法是可选的,即有可能类没有提供这个方法。
clone没有调用构造函数,而且如果父类没有实现clone的话,子类永远也不可能正确实现clone.
总之,clone是个很头痛的函数,如果要正确实现,必须考虑到深考贝的情况,否则被克隆出来的对象就不是独立的,如,要写一个堆栈类的克隆函数,正确的实现方法是:
@Override public Stack clone() {
try {
Stack result = (Stack) super.clone();
result.elements = elements.clone();
return result;
} catch (CloneNotSupportedException e) {
throw new AssertionError();
}
}
要注意对于final字段不能正常工作,clone结构与可变对象的final字段是不兼容的。
对于列散数组,仅仅递归调用的clone方法还不够,看书中正确的做法:
public class HashTable implements Cloneable {
private Entry[] buckets = ...;
private static class Entry {
final Object key;
相关文档:
java得到当前时间
Java基础 2009-06-02 21:34:18 阅读1289 评论0 字号:大中小
//String nowTime=new SimpleDateFormat("yyyyMMddHHmm").format(new java.util.Date());
//System.out.println(nowTime);
import java.text.Sim ......
下载地址:http://greenvm.googlecode.com/files/JTTSEngine.7z
(含示例与源码,目前仅提供dll封装)
众所周知,所谓TTS即Text To Speech的英文缩写,也就是“从文本转换到语音”。
TTS技术的主要作用在于利用计算机合成人语,并将文字信息转化为语音信息进行播放。简单点说,TTS技术赋予了计算机“开口 ......
这个主题是关于编码的一些原则和模式的,用这些可以帮助程序员创建更加灵活和具有适应性的软件模块。
笔者下面引用的程序是Robert大叔著名的程序片断来重新认识一下重构,那些java代码看起来正确,但事实上不是看起来那么简单的,一小段程序调 ......
大家好! 我叫小郝 也是刚开始学用JAVA开发WEB项目,希望大家给我建议下,有什么方法可以学好,用JAVA开发WEB项目!~ 现在我还应该学点什么 希望大家多指点指点~ 我现在SSH 学完了! 大家能有什么好点的建议吗? 有的话联系下我谢谢了~ ......