(1)
An interface is used to implement multiple inheritance in Java.
(2)
The UML modeling is similar to Generalization. Generalization is modeled with a line that has an open arrow pointing from the subclass to the superclass. An interface is shown with a dashed line that has an open arrow pointing from the class that implements the interface toward the interface.
Here's a simplified class diagram that shows the interface IsList being implemented by the class SortNames.
The dashed line with the simple arrow pointing from SortNames to TextFileIn represents an include relationship.
[This message has been edited by Michael Pearson (edited August 01, 2001).]