¿Por qué Java a veces usa interfaces para declarar objetos y clases concretas para crear objetos? Por ejemplo, Colección c=new ArrayList();
En este caso, la referencia de la interfaz c apunta al objeto específico que implementa la interfaz, que es la encarnación del polimorfismo.
La ventaja de esto es que el método llamado a través de la interfaz c puede protegerse de la interfaz específica. implementación del método en el exterior. En otras palabras, sólo necesito saber qué hará c, no cómo lo hará c.
En otras palabras, las devoluciones de llamada de interfaz se usan a menudo en la programación JAVA, es decir, programación orientada a interfaz
El punto más importante es que la Colección c es solo una referencia, un puntero a la implementación específica de la clase Quote.