Fiquei confuso nessa parte. Também qual a diferença de usar um get/set de um construtor parametrizado?
Usar Contrutor parametizado quando você não quer que um objeto seja instanciado com valores nulos ou zerado em caso de números. Assim você força a criação do objeto já com valores diferente de null e 0/0.0.
O get é para você obter o valor de um atributo do objeto e o set para você alterar esse valor, porém sem ter contato direto com o atributo.
Tem uns videos de java que tem tudo isso muito bem explicado no canal ou site Curso em Video.
Ah sim. Pode me dar um exemplo real?
Então o construtor com parâmetros é para evitar que um objeto fique inconsistente?
Sim, porque nesse caso você não consegue criar um objeto sem informar suas propriedades.
Exemplo bem simples de um contrutor da classe Pessoa com apenas dois atributos nome e idade
public Pessoa(String nome, int idade) {
this.nome = nome;
this.idade = idade;
}
Se você colocar esse construtor não será possível criar o objeto new Pessoa(nome, idade) sem o nome e idade.
Os setters e getters são úteis em algumas situações além de não deixar você ter contato direto com os atributos da classe.
setIdade por exemplo você pode colocar uma regra. Tipo que idade não pode ser menor que 0 etc.
Os videos que indiquei são bons pra você ter exemplos e entender bem a orientação a objetos. Que seria o caso aqui.