The interface body contains method declarations for all of the methods included in the interface. All methods declared in an interface are implicitly public and abstract . The use of these modifiers on a method declaration in an interface is discouraged as a matter of style. An interface can contain constant declarations in addition to method declarations. The Sleeper interface declares two constants that are useful arguments to letMeSleepFor .
All constant values defined in an interface are implicitly public , static , and final .
The use of these modifiers on a constant declaration in an interface is discouraged as a matter of style. Classes that implement an interface can treat the constants as though they were inherited. Also, you may not use the private and protected specifiers when declaring members of an interface. However this is unnecessary, since interfaces and their methods are implicitly abstract. You should no longer be using abstract in your interface declarations or in your method declarations within interfaces.