Originally posted by Arun Kumarr:
Marking a class or an interface static at the top level is only to ensure that it can be accessed without an instance.
So having a interface marked as static at the class level would mean nothing as you can never instantiate your interface.
But..
Marking a interface which is inside a class ensures that the interface can be implemented/extended without having the actual instance of the toplevel enclosing class/interface.
Am I correct barry??
Neither top-level classes or interfaces can be declared static. What would this mean? Only nested elements can be declared static. Whether its a variable, method, nested class or interface, the meaning is similar: you don't need an instance of the outer class to access the nested element. This means that your later statement is on the mark. A static interface can be implemented or extended without an instance of the outer class or interface.
Layne