How do I implement an equals method in this exercice (Java)
<p>There are 2 Classes: Loja (Store) and Produto (Product)</p>

<p>The class Produto has 3 children: DVD, CD and Livro, but they all have in common the following attribute: codigoBarras (barCode)</p>

<p>The question is: how do I check if two <em>produtos</em> have the same codigoBarras?</p>

<pre><code>public class Loja {

    public static void main(String[] args){

        DVD[] dvds = new DVD[5];
        CD[] cds = new CD[5];
        Livro[] livros = new Livro[5];
        Produto[] produtos = new Produto[5];
        int i = 0, j = 0, k = 0, opção;

        Scanner input = new Scanner(System.in);

        for (int a=0; a&lt;5 ; a++){

            System.out.println("Digite: \n\t 1 - CD \n\t 2 - DVD \n\t 3 - Livro");
            opção = input.nextInt();

            switch(opção){
                case 1:
                    CD cd1 = new CD();
                    System.out.println("\nDigite o nome: ");
                    cd1.setNome(input.next());
                    System.out.println("\nDigite o preço: ");
                    cd1.setPreço(input.nextDouble());
                    System.out.println("\nDigite o numero de faixas: ");
                    cd1.setNumeroFaixas(input.nextInt());
                    produtos[i++] = cd1;
                    break;
                case 2:
                    DVD dvd1 = new DVD();
                    System.out.println("\nDigite o nome: ");
                    dvd1.setNome(input.next());
                    System.out.println("\nDigite o preço: ");
                    dvd1.setPreço(input.nextDouble());
                    System.out.println("\nDigite a duração: ");
                    dvd1.setDuração(input.nextInt());
                    produtos[i++] = dvd1;
                    break;
                case 3:
                    Livro livro1 = new Livro();
                    System.out.println("\nDigite o nome: ");
                    livro1.setNome(input.next());
                    System.out.println("\nDigite o preço: ");
                    livro1.setPreço(input.nextDouble());
                    System.out.println("\nDigite o autor: ");
                    livro1.setAutor(input.next());
                    produtos[i++] = livro1;
                    break;   
                default: 
            }
        }  

        for (int b=0; b&lt;i; b++){
            System.out.println("\n"+produtos[b]);
        }

    }
}

public class Produto {

    private double preço;
    private String nome;
    private long codigoBarras;

    public Produto(double preço, String nome, long codigoBarras){
        this.preço = preço;
        this.nome = nome;  
    }

    public Produto(){}

    public double getPreço() {
        return preço;
    }

    public void setPreço(double preço) {
        this.preço = preço;
    }

    public String getNome() {
        return nome;
    }

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

    public long getCodigoBarras() {
        return codigoBarras;
    }

    public void setCodigoBarras(long codigoBarras) {
        this.codigoBarras = codigoBarras;
    }  


    @Override
    public String toString(){
        return "Produto: ( " + "Nome: " + nome + ", Preço: "+ preço + ")";
    }    

    public void imprimir(){
        System.out.println("Produto: ( " + ", Nome: " + nome + ", Preço: "+ preço + ")");
    }   
}
</code></pre>