Como implementar classe anônima em Java



Este blog fornecerá a você um conhecimento detalhado e abrangente da classe anônima em Java com exemplos e como ela difere de uma classe normal.

As classes anônimas permitem que você escreva um pequeno código e declare e instancie a classe ao mesmo tempo. Essas classes não têm nomes, é usado quando você deseja usar qualquer classe apenas uma vez. É um aspecto importante da programação Java. Vamos entender o que é classe anônima em Java na seguinte ordem:

Declaração de classes anônimas





Normalmente criamos uma classe, ou seja, declaramos classe, mas classes anônimas são expressões que significa que definimos a classe anônima em outro expressão . Em palavras simples, a classe interna anônima é uma classe sem nomes e apenas um objeto é criado.

Anonymous-Class-In-Java



Classe anônima é útil quando temos que criar uma instância do objeto com métodos de sobrecarga de uma classe ou interface sem criar uma subclasse de classe.

O anônimo pode ser criado de duas maneiras:

  • Classe (também pode ser abstrato)
  • Interface

Na classe anônima, podemos declarar o seguinte:



chef vs fantoche vs sal
  • Campos
  • Métodos extras
  • Inicializadores de instância
  • Aulas locais

Sintaxe de classe anônima em Java

A sintaxe de uma classe anônima é semelhante ao construtor, exceto que há uma definição de classe no bloco, conforme mostrado no snippet abaixo:

// AnonymousClass = interface, classe abstrata / concreta. AnonymousClass t = new AnonymousClass () {// métodos e campos public void someMethod () {// o código vai aqui}}

Vejamos o seguinte exemplo:

O exemplo a seguir,HelloAnonymousClass, usa classes anônimas nas instruções de inicialização das variáveis ​​locaiscumprimentar alguémmas, usa uma classe local para a inicialização da variávelgreetWorld:

public class HelloAnonymousClass {interface HelloWorld {public void sayHello () public void sayHelloTo (String alguém)} public void sayHello () {class GreetWorld implementa HelloWorld {String name = 'world' public void sayHello () {sayHelloTo ('world')} public void sayHelloTo (String alguém) {name = someone System.out.println ('Hello' + name)}} HelloWorld greetWorld = new GreetWorld () HelloWorld greetSomeone = new HelloWorld () {String name = 'jon' public void sayHello ( ) {sayHelloTo ('Jon')} public void sayHelloTo (String alguém) {name = alguém System.out.println ('hola' + name)}} greetWorld.sayHello () greetSomeone.sayHelloTo ('Doe')} public static void main (String ... args) {HelloAnonymousClass myApp = new HelloAnonymousClass () myApp.sayHello ()}}

Como vimos, a classe anônima é uma expressão, a sintaxe é como o construtor, exceto que há uma definição de classe no bloco. Considere a instanciação do objeto greetSomeone:

HelloWorld greetSomeone = new HelloWorld () {String nome = 'jon' public void sayHello () {sayHelloTo ('Jon')} public void sayHelloTo (String alguém) {nome = alguém System.out.println ('hola' + nome) }}

A classe anônima é composta do seguinte:

programa de agendamento round robin em c
  • novo operador.
  • Ele pode implementar uma interface ou estender uma classe. Como no exemplo acima, ele está implementando a interface.
  • Ele contém parênteses como classes normais para passar argumentos para o construtor.
  • Contém corpo que contém declarações de método. Declarações não são permitidas.

A classe anônima deve fazer parte das declarações.

No exemplo acima, a expressão de classe anônima é parte da instrução que é iniciada porcumprimentar alguém.

Maneiras de criar classe anônima em Java

Existem 3 maneiras de criar Inner Class em Java

  • Ao estender a classe

Podemos criar uma classe interna anônima estendendo outra classe, suponha que tenhamos que criar um thread usando a classe Thread, podemos criar uma classe interna anônima em vez de criar uma classe separada.

// Programa para ilustrar a classe Anonymous Inner estendendo outra classe de classe AnonymousThreadClass {public static void main (String [] args) {// Classe Anonymous Inner que estende a classe Thread Thread t = new Thread () {public void run () {System .out.println ('Filho!')}} t.start () System.out.println ('Pai!')}}

Resultado:

Pai!

Criança!

  • Implementando Interface

Também podemos criar uma classe interna anônima implementando a interface. Agora, como criamos uma classe interna estendendo a classe de maneira semelhante, podemos criar uma classe que implementa uma interface.

// Programa para ilustrar a classe Anonymous Inner implementando a classe de interface AnonymousThreadClass {public static void main (String [] args) {// Classe Anonymous Inner que implementa a interface Runnable r = new Runnable () {public void run () {System.out .println ('Child!')}} Thread t = new Thread (r) t.start () System.out.println ('Parent!')}}

Resultado:

Pai!

Criança!

  • Como um argumento para um Método / Construtor

Para entender a sintaxe, vejamos o exemplo abaixo:

// Programa para ilustrar a classe Anonymous Inner por classe de argumento AnonymousThreadClass {public static void main (String [] args) {// Classe anônima com argumento do construtor Thread t = new Thread (new Runnable () {public void run () {System. out.println ('Filho!')}}) t.start () System.out.println ('Pai!')}}

Resultado:

Pai!

Criança!

Diferença entre classe interna regular e anônima

  • Podemos implementar vários números de interfaces usando uma classe normal, mas, com uma classe interna anônima, podemos implementar apenas uma interface.

  • Com aulas regulares podemos estender uma aula e também implementar várias interfaces, mas, com uma classe interna anônima, podemos estender uma classe ou implementar uma interface, mas não as duas ao mesmo tempo.

    obter a data da string java
  • Com anônimos nós não posso escrever construtor porque a classe interna anônima não tem nome e o nome do construtor deve ser igual ao nome da classe.

Neste artigo, vimos o que é uma classe interna anônima e como podemos criar uma. examinamos a sintaxe da classe interna anônima e também como podemos criar uma classe anônima de 3 maneiras e, com isso, chegamos ao fim deste artigo Classe anônima em Java. Confira o por Edureka.

Tem uma questão? Mencione-o na seção de comentários deste artigo e entraremos em contato com você o mais breve possível.