Object.clone() only clones the references to the member fields. It does not a "deep" clone. It is the responsibility of subclasses which want to do so to copy the desired member fields (in general only mutable fields are cloned, the immutable ones are left).
Hope this helps, Regards, Julien 2013/1/2 Dan Filimon <[email protected]>: > I'm confused what DelegatingVector's clone() method is trying to do. > I'm playing with it to create the DecoratedVector<T> type. > > Here it is [1]. > So, it first calls its super class, super.clone() at line 5 (which is > in fact Object's clone() since this class doesn't extend anything). > Then, it clones the delegate vector, delegate.clone() at line 10. > > Why is it doing this? Isn't calling super.clone() enough? It's only > doing member copying, right? > Cloning the delegate vector is something Object.clone() did anyway, isn't it? > > [1] https://gist.github.com/4438413
