This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
The only place where you can have a static interface is when you declare an interface as a class member; in that case, the interface *must* be static. This effectively makes it a top-level interface, but means that when you use it outside the enclosing class, you must qualify the interface's name with the name of the enclosing class. i.e,
To use Bar outside of Foo, you must qualify the name like this: Foo.Bar myBarObject;