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

[Dúvida] Podemos deixar private final List<Aula> aulas = new ArrayList<>(); ?

package br.com.gerenciadordecursos;

import java.util.ArrayList; import java.util.List;

public class Curso {

private String nome;
private String instrutor;
private List<Aula> aulas = new ArrayList<>(); //Assim como esta na aula!
private final List<Aula> aulas = new ArrayList<>(); //Mas temos esta outra opção também. Podemos deixar como private final neste caso???


public String getNome() {
    return nome;
}

public String getInstrutor() {
    return instrutor;
}

public List<Aula> getAulas() {
    return aulas;
}

Gostaria de saber se podemos deixar private final sempre ou temos casos específicos para utilizar o private final e por padrão é melhor deixar somente private!?

Reparei que se deixarmos como private final quando vamos criar o construtor a aula não aparece, apenas o nome e o instrutor... Seria esta a diferença entre um e outro ou tens mais alguma outra mudança?

1 resposta
solução!

Opa! Oi Eduardo, tudo bem? O private faz com que só possamos acessar ou modificar atributos dessa classe em outras a partir do método getter e setter, já o private final, vai fazer com que o atributo fique imutável, aqui tem ótimos exemplos https://pt.stackoverflow.com/questions/17015/qual-o-uso-de-uma-vari%C3%A1vel-est%C3%A1tica-ou-final-em-java :)