Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Fiz o código da seguinte forma:

Quando eu fui fazer o " Pessoa pessoa = new Pessoa(); "havia dado erro e eu não sei o porque ai o intellij me deu uma
sujestao de criar esse metodo " public Pessoa() {} " vazio e eu não entendi como que funcionou mais rodou! .
de qualquer forma ainda fiquei com essa duvida.

Main

import java.util.ArrayList;

public class MainPessoa {
    public static void main(String[] args) {
        Pessoa pessoa = new Pessoa();
        pessoa.setNome("Maria");
        pessoa.setIdade(25);
        System.out.println(pessoa.toString());
        ArrayList<Pessoa> listaDePessoas = new ArrayList<>();
        Pessoa pessoa1 = new Pessoa("Akemi", 18);
        Pessoa pessoa2 = new Pessoa("Rodrigo", 30);
        Pessoa pessoa3 = new Pessoa("Caroline", 35);
        listaDePessoas.add(pessoa1);
        listaDePessoas.add(pessoa2);
        listaDePessoas.add(pessoa3);
        System.out.println("Tamanho da lista: " + listaDePessoas.size() + " itens");
        System.out.println("Primeiro item da lista: "+ listaDePessoas.get(0));
        System.out.println(listaDePessoas.toString());


    }
}

Classe pessoa


public class Pessoa {
    private String nome;
    private int idade;

    public Pessoa(String nome, int idade) {
        this.nome = nome;
        this.idade = idade;

    }

    public Pessoa() {

    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }


    public void setIdade(int idade) {
        this.idade = idade;
    }

    @Override
    public String toString() {
        return "Nome: " + nome + " Idade: " + idade;
    }



}
1 resposta
solução!

Oi, Arthur! Como vai?

Do jeito que você explicou, o que chamou atenção foi o uso correto dos dois construtores na classe Pessoa, um com parâmetros e outro vazio, o que permitiu criar o objeto usando new Pessoa() antes de definir os valores com os métodos setNome e setIdade.

Uma dica interessante para o futuro e entender melhor o papel dos construtores, pois eles definem como o objeto nasce na aplicação. Veja este exemplo:


public class Pessoa {
    private String nome;
    private int idade;

    public Pessoa() {
        this.nome = "Padrao";
        this.idade = 0;
    }
}

Esse código cria um objeto já com valores iniciais, evitando atributos nulos e deixando o comportamento mais previsível.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!