Olá!
Estava tentando fazer uma classe ListaDeClientes
pra armazenar algumas instâncias da classe Cliente
em um ArrayList.
Minha ideia era depois usar essa classe como uma espécie de banco, de modo que, além de ter uma amostra, na Main
fosse possível chamar um método da ListaDeClientes
para adicionar um novo cliente na ArrayList.
A classe estava assim:
package com.alura.bancoteste;
import java.util.ArrayList;
public class ListaDeClientes {
// aqui seriam as amostras de Cliente
Cliente gloriagroove = new Cliente("Gloria Groove", "11122233344", "gg@email.com");
Cliente juditeraimunda = new Cliente("Judite Raimunda", "11122233355", "judite@email.com");
Cliente mariahcarey = new Cliente("Mariah Carey", "11133322245", "mcarey@email.com");
// Criando um array pra armazenar as amostras
ArrayList<Cliente> amostra = new ArrayList<>();
amostra.add(gloriagroove); // fica sublinhado de vermelho
amostra.add(juditeraimunda); // fica sublinhado de vermelho
ArrayList<Cliente> listaDeClientes = new ArrayList<>(amostra);
public void adicionaCliente(Cliente cliente) {
listaDeClientes.add(cliente);
}
}
Porém a classe não compila, fica sublinhado de vermelho ali no amostra.add(gloriagroove)
; com a seguinte mensagem: Syntax error on token ".", @ expected after this token
Porém, quando eu coloco o código dentro de um public static void main
, e comento o método adicionaCliente
a classe compila. Não entendi porque isso aconteceu, os métodos do ArrayList só funcionam em classes / métodos estáticos?