回想一下,平时真正需要的是两个不同对象
Object类中的clone
先来看下clone的源码,在Object类中
/*
Creates and returns a copy of this object...浅克隆:原对象和克隆对象不同,但对象内的成员引用相同
深克隆:原对象和克隆对象不同,且对象内的成员引用也不同
不同:不是同一个对象,所占内存地址不同
成员引用:类中为引用类型的成员
以图说明,更形象些...男孩比喻为一个类,电脑比喻为类中的成员引用
?...e){
e.printStackTrace();
}
return bag;
}
}
且在Student类的clone方法中执行Bag的...}
这样便可实现深克隆,但这种方法很麻烦,若Bag类中还含有成员引用,则又需要再让它实现Cloneable接口重写clone方法,这样代码会显得很臃肿,且繁琐。