Skip to content

Commit 3fbfab3

Browse files
committed
classes aninimas e lambdas em java
1 parent ef55c01 commit 3fbfab3

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Classes Anônimas e Lambdas em Java
2+
3+
## Introdução
4+
5+
Neste documento, vamos explorar dois recursos poderosos da linguagem Java: classes anônimas e lambdas. Essas
6+
funcionalidades são amplamente utilizadas para implementar abordagens mais concisas e expressivas ao lidar com
7+
interfaces funcionais.
8+
9+
## Classes Anônimas
10+
11+
Em Java, uma classe anônima é uma forma de criar uma classe sem nome diretamente no local em que ela será usada. Ela é
12+
útil quando precisamos implementar uma interface ou estender uma classe abstrata de forma rápida e sem a necessidade de
13+
criar uma classe separada.
14+
15+
A sintaxe básica para criar uma classe anônima é a seguinte:
16+
17+
```java
18+
interface Exemplo {
19+
void metodo();
20+
}
21+
22+
public class ClasseExemplo {
23+
public static void main(String[] args) {
24+
Exemplo obj = new Exemplo() {
25+
public void metodo() {
26+
System.out.println("Implementação do método");
27+
}
28+
};
29+
obj.metodo();
30+
}
31+
}
32+
```
33+
34+
Nesse exemplo, criamos uma classe anônima que implementa a interface `Exemplo` e define a implementação do método
35+
`metodo()`. Em seguida, criamos um objeto dessa classe e chamamos o método `metodo()`.
36+
37+
As classes anônimas são particularmente úteis quando queremos fornecer uma implementação específica para uma interface
38+
funcional em um contexto específico, sem a necessidade de criar uma classe separada.
39+
40+
## Lambdas
41+
Lambdas são uma forma mais concisa e expressiva de escrever código em Java quando trabalhamos com interfaces funcionais.
42+
Uma interface funcional é aquela que contém apenas um único método abstrato. O uso de lambdas permite escrever o corpo
43+
desse método diretamente, sem precisar criar uma classe anônima.
44+
45+
Aqui está um exemplo básico de como usar lambdas em Java:
46+
47+
```java
48+
interface OperacaoMatematica {
49+
int executar(int a, int b);
50+
}
51+
52+
public class ExemploLambda {
53+
public static void main(String[] args) {
54+
OperacaoMatematica soma = (a, b) -> a + b;
55+
System.out.println(soma.executar(2, 3)); // Saída: 5
56+
57+
OperacaoMatematica subtracao = (a, b) -> a - b;
58+
System.out.println(subtracao.executar(5, 2)); // Saída: 3
59+
}
60+
61+
}
62+
```
63+
Neste exemplo, definimos a interface funcional `OperacaoMatematica`, que possui o método `executar()`. Em seguida, usamos
64+
lambdas para implementar a adição e a subtração. Não precisamos criar classes anônimas; em vez disso, definimos as
65+
implementações diretamente usando a `sintaxe () -> ....`
66+
67+
Lambdas são particularmente úteis quando lidamos com coleções de dados ou quando precisamos passar comportamentos como
68+
argumentos para métodos.
69+
70+
## Conclusão
71+
Classes anônimas e lambdas são recursos poderosos do Java que permitem escrever código mais conciso e expressivo. As
72+
classes anônimas são úteis para fornecer implementações rápidas de interfaces ou extensões de classes abstratas sem a
73+
necessidade de criar classes separadas. Já as lambdas permitem definir implementações de interfaces funcionais
74+
diretamente no local em que são usadas, sem criar classes anônimas.
75+
76+
Ao dominar esses recursos, você poderá escrever código mais limpo e legível em Java, tornando seu trabalho mais
77+
eficiente e produtivo.

0 commit comments

Comments
 (0)