0
respostas

Erro ao instanciar classe

Olá. Estou realizando o exercício do "Curso de Java parte 6: Conhecendo o java.util", aula 07, e no momento de instanciar o objeto:

NumeroDaContaComparator comparator = new NumeroDaContaComparator();

Está ocorrendo o seguinte erro:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: No enclosing instance of type Teste is accessible. Must qualify the allocation with an enclosing instance of type Teste (e.g. x.new A() where x is an instance of Teste).

at br.com.byteBank.banco.teste.util.Teste.main(Teste.java:54)

Comparei meu código ao do professor e são iguais.

Alguém poderia me auxiliar a resolver esse problema?

Abaixo segue a transcrição do código.

Muito obrigada.

package br.com.byteBank.banco.teste.util;

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

import br.com.byteBank.banco.modelo.Cliente; import br.com.byteBank.banco.modelo.Conta; import br.com.byteBank.banco.modelo.ContaCorrente; import br.com.byteBank.banco.modelo.ContaPoupanca; import br.com.byteBank.banco.teste.teste;

public class Teste {

public Teste() {
}

public static void main(String[] args) {

        Conta cc1 = new ContaCorrente(22, 33);
        Cliente clienteCC1 = new Cliente();
        clienteCC1.setNome("Nico");
        cc1.setTitular(clienteCC1);
        cc1.deposita(333.0);

        Conta cc2 = new ContaPoupanca(22, 44);
        Cliente clienteCC2 = new Cliente();
        clienteCC2.setNome("Guilherme");
        cc2.setTitular(clienteCC2);
        cc2.deposita(444.0);

        Conta cc3 = new ContaCorrente(22, 11);
        Cliente clienteCC3 = new Cliente();
        clienteCC3.setNome("Paulo");
        cc3.setTitular(clienteCC3);
        cc3.deposita(111.0);

        Conta cc4 = new ContaPoupanca(22, 22);
        Cliente clienteCC4 = new Cliente();
        clienteCC4.setNome("Ana");
        cc4.setTitular(clienteCC4);
        cc4.deposita(222.0);

        List<Conta> lista = new ArrayList<>();
        lista.add(cc1);
        lista.add(cc2);
        lista.add(cc3);
        lista.add(cc4);

        for (Conta conta : lista) {
        System.out.println(conta);
    }

        NumeroDaContaComparator comparator = new     NumeroDaContaComparator();
        TitularDaContaComparator titularComparator = new TitularDaContaComparator();
        lista.sort(titularComparator);

        System.out.println("---------");

    for (Conta conta : lista) {
        System.out.println(conta);
    }
    }

class TitularDaContaComparator implements Comparator<Conta> {
    @Override
    public int compare(Conta c1, Conta c2) {
        String nomeC1 = c1.getTitular().getNome();
        String nomeC2 = c2.getTitular().getNome();
        return nomeC1.compareTo(nomeC2);
    }
}

class NumeroDaContaComparator implements Comparator<Conta> {
    @Override
    public int compare(Conta c1, Conta c2) {
        return Integer.compare(c1.getNumero(), c2.getNumero());
        }
}

}