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
}
}