Olá!
Segue minha resolução.
- Classe Genérica Avaliação:
public class Avaliacao <T> {
public T avaliacao;
public double nota;
String comentario;
public Avaliacao(T avaliacao, double nota, String comentario) {
this.avaliacao = avaliacao;
this.nota = nota;
this.comentario = comentario;
}
public String getComentario() {
return comentario;
}
public void setComentario(String comentario) {
this.comentario = comentario;
}
public double getNota() {
return nota;
}
public void setNota(double nota) {
this.nota = nota;
}
public T getAvaliacao() {
return avaliacao;
}
public void setAvaliacao(T avaliacao) {
this.avaliacao = avaliacao;
}
@Override
public String toString() {
return "Avaliacao{" +
"avaliacao=" + avaliacao +
", nota=" + nota +
", comentario='" + comentario + '\'' +
'}';
}
}
- Main para rodar a aplicação:
public class Main {
public static void main(String[] args) {
Avaliacao avaliacao = new Avaliacao<>("Servico", 5,"Muito Bom");
Avaliacao avaliacao1 = new Avaliacao("Produto", 3.5, "Apresentou falhas");
System.out.println(avaliacao);
System.out.println(avaliacao1);
}
}