Hi, welcome to the ranch!!
Would that look like this?
You can certainly write the code to make the constructor copy the appropriate fields from old to new, but it's not there automatically. I think the only one of these I've used in the wild is the Attributes object in the XML DOM.
oldWidget.clone() might be an alternative. The object must be written to clone properly. The code would look an awful lot like the copy constructor as it copies each field from old to new. Look at the
doc for clone() on the Object class.
Either way, if you're writing the copy code it will be your choice whether to make deep copies or not.