Instead, the purpose of Java's interface construct is to describe the interface to which a set of classes conform, i.e., each class implements the interface.
For example, there are several ways of providing a class for representing a date each of which stores the details of a date in a different way: we could use three ints representing a year, a month and a day; a short and two bytes representing a year, a month and a day; one int that stores the number of days since the beginning of time; and so on. So we could provide several classes, each one of which conforms to the DateIF interface.
We should document that a class implements an interface. This is done by means of an implements clause:
0769: import java.util. StringTokenizer;
0770: public class Date implements DateIF
0771: {
0772: private int iYear;
0773: ...
0774: public String toString()
0775: {
0776: return iYear + "-" + iMonth/10 + iMonth%10 + "-" + iDay/10 + iDay%10;
0777: }
0778: }
If Date says that it implements DateIF, then Date must at least include declarations for each method that is defined in DateIF.