Often a Java class declaration is used to produce a new type.
This document argues that,
for these class declarations,
certain features should always be provided.
the class should provide methods called
and a means for cloning objects of the class.
If it is appropriate,
the class should also implement the
(providing a method called
The document also discusses the code that should be used for
The text of the talk is available in the following formats: