More on Interfaces -- Why use them
Note that Interfaces often play a software engineering as opposed to required functional role
Note that Interfaces are not significantly used in current Java release where perhaps there are 15 times as many class definitions as interface definitions
But Interfaces play a crucial role in structuring programs that need to declare multiple sets of behaviors such as applets and threads.
And Interfaces play a crucial role in the Remote Method Interface (RMI), where an Interface is the common specification between a Java applet or application and the set of methods that it can call remotely.