Não existe classe estática, apenas métodos e atributos podem ser estáticos.
Ela é apenas uma classe interna.
Inter.Classeobj=newInter.Classe();
Nesse caso você está instanciando um objeto da classe interna.
rodrigo.bossini
Pessoal, na boa, vamos responder só quando tivermos certeza.
Respondendo a minha própria pergunta, o seguinte trecho de código compila e executa, o que indica que minha suposição estava correta:
interface I{
static class Classe{}
}
marcos.junqueira:
A seguinte sintaxe serve para instanciar uma classe estática, definida dentro de uma outra classe, o que faz com que ela não seja uma classe interna "regular".
Já a seguinte sintaxe serve para instancia uma classe interna "regular".
classOut{classInner{}}classTeste{publicstaticvoidmain(Stringargs[]){Out.Innerob=newOut().newInner();//repare no relacionamento que uma instancia da inner tem com uma instancia da outer, o que a faz uma classe interna regular.}}
Abraços
marcos.junqueira
Me equivoquei quanto à classe estática pois o modificador static atua de forma diferente em atributos, metodos e classes. Mas sabemos que a classe estática só consegue acessar os atributos estáticos da classe pai, qual seria a utilidade de uma classe estática em uma interface?
Quer dizer que uma classe interna de interface pode brincar o quanto quiser com os atributos (que também são estáticos) da interface, só não vai poder utilizar os métodos, que obviamente não podem ser estáticos.