Como criar uma classe anônima em Java

classes internas anônimas (Normalmente chamado apenas de classes anônimas) são provavelmente o recurso mais estranho da linguagem de programação Java. A primeira vez que você vê uma classe anônima, você quase certamente pensar que alguém cometeu um erro e que o código não pode compilar. Mas compilar ele faz, e ele ainda funciona. Quando você pegar o jeito de trabalhar com classes anônimas, você vai saber como você chegou sem eles.

Uma classe anônima é uma classe que está definido no local, bem no ponto onde você quer instanciar-lo. Porque você codificar o corpo da direita classe onde você precisar dele, você não tem que dar-lhe um nome. (É por isso que ele é chamado de anônimo classe.)

A forma básica para declarar e instanciar uma classe anônima é esta:

nova ClassOrInterface () {classe de corpo}

Como você pode ver, você especifica o novo palavra-chave, seguido do nome de uma classe ou interface que especifica o tipo de objeto criado a partir da classe anônima.

Este nome classe ou interface é seguido por parênteses, que podem incluir uma lista de parâmetros que é passado para o construtor da classe anônima. Então você codificar um corpo de classe entre chaves. Este corpo de classe pode incluir qualquer coisa de que um organismo de classe regular pode incluem: campos, métodos e até mesmo outras classes ou interfaces.

Aqui está um exemplo de uma classe anônima simples:

classe pública AnonClass {public static void main (String [] args) {Bola b = new Ball () {hit public void () {System.out.println ( "Você batê-lo!") -}} - b.hit ( ) -} interface de bola {hit void () -}}

Neste exemplo, a interface com o nome Bola é criado que tem um único método chamado acertar. Então, de volta ao a Principal método, uma variável do tipo Bola é declarado e uma classe anônima é usada para criar um objeto. O corpo da classe anónimo consiste de uma implementação do acertar método que simplesmente exibe a mensagem Você batê-lo! no console.

Após a classe anônima é criado e atribuído à b variável, a próxima instrução chama a acertar method.When você rodar este programa, a única linha Você batê-lo! é exibido no console.

Aqui estão algumas coisas a ponderar quando você trabalha com classes anônimas:

  • Você não pode criar um construtor para uma classe anônima, porque a classe anônima não tem um nome. O que você chamar o construtor, de qualquer maneira?

  • Você não pode passar parâmetros, se a classe anônima é baseado em uma interface. Isso faz com que as interfaces dos sentidos não têm construtores, então Java não teria nada para passar os parâmetros para.

  • Uma instrução de atribuição pode usar uma classe anônima, como mostrado neste exemplo. Nesse caso, o corpo da classe anónimo é seguido por um ponto e vírgula, que marca o fim do comando de atribuição. Note-se que este ponto e vírgula é parte da declaração de atribuição, não a classe anônima.

  • Uma classe anônima é um tipo especial de aula interna como qualquer classe interna, ele automaticamente tem acesso aos campos e métodos de sua classe externa.

  • Uma classe anônima não pode ser estática.

menu