You can't declare a new interface. Remember, interfaces do not have
implementations.
But, you can declare variables as interface types. Then, they must
simply contain objects that implement that interface.
You can use the instanceof operator to see if a class implements a given
interface.
Interestingly, you can extend interfaces when making a new interface.
(Would this be called a sub-interface?)
All fields are constants, and are automatically public static final.
You don't have to specify these keywords when defining them. Just
remember that they are there automatically, don't try to change the values
of these fields!
You can add these modifiers if you want, but it's not recommended because
it is redundant. I would argue that it is a little more clear, but
then again I could see a programmer attempting to change one of the words
and getting confused...
Interfaces can contain only constants. Thus, any class that implements
this interface automatically has these constants. Neat trick, huh?
To implement multiple interfaces, simply use the implements keyword
one time, then separate the interfaces with commas.