1
respuesta

Error al crear objeto de clase (Comparator)

Tengo un error al tratar de crear un objeto de la clase default externa de la clase principal, indicando el error de: non static method cannot be referenced from a static context, ya he tratado de resolverlo, pero aun no lo he solucionado. Este es el código.

//JAVA Y JAVA.UTIL
public class TestOrdenarListas {

    //clase que implementa la interface Comparator
    class OrdenacionCuentas implements Comparator<CuentaBanco> { //la interface almacena objeto tipo CuentaBanco

        @Override
        public int compare(CuentaBanco o1, CuentaBanco o2) { //metodo override, propio de la interface
            //el metodo tiene  de parametro 2 objetos del mismo tipo

            //evalua los 2 objetos recibidos segun su numero de agencia
            if (o1.getNumeroCuenta() == o2.getNumeroAgencia()) {
                return 0; //devuelve s es igual
            } else if (o1.getNumeroCuenta() > o2.getNumeroAgencia()) {
                return 1; //devuelve si es mayor
            } else {
                return -1; //devuelve si es menor
            }
        }
    } //fin de clase default

    public static void main(String[] args) {

        //creacion de objetos
        CuentaBanco cb = new CuentaActual(100, 111);
        CuentaBanco cb1 = new CuentaAhorros(112, 113);
        CuentaBanco cb2 = new CuentaActual(114, 115);
        CuentaBanco cb3 = new CuentaAhorros(117, 118);

        //acceso a metodos
        cb.depositarSaldo(500.55);
        cb1.depositarSaldo(200.55);
        cb2.depositarSaldo(330);
        cb3.depositarSaldo(832.50);

        //coleccion de objetos de tipo CuentaBanco
        List<CuentaBanco> coleccion = new ArrayList<>();

        //ingreso de  elementos  la coleccion
        coleccion.add(cb);
        coleccion.add(cb1);
        coleccion.add(cb2);
        coleccion.add(cb3);

        //ordenamiento de coleccion
//        Comparator<CuentaBanco> objetoComparator = new OrdenacionCuentas();
        //no compila
        Comparator<CuentaBanco> c = new OrdenacionCuentas(); //error
        coleccion.sort(c); //compila pasando de parametro el objeto anterior

    }
}
1 respuesta

¡Hola Leonardo! ¡Deseo que estés bien!

Coloca aqui un print de tu pantalla con el error que te esta saliendo!

¡Te deseo mucho éxito en tus estudios! y recuerda que aquí estaremos para apoyarte!

¡Vamos juntos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!