Confusión en el método de interfaz Java de llamada

Digamos que tengo una interfaz A, definida de la siguiente manera:

public interface A {
  public void a();
}

Incluye método llamadovoid a();

Tengo una clase que implementa esta interfaz y tiene un solo método:

    public class AImpl implements A {
       @Override
       public void a() {
           System.out.println("Do something");
       }
    }

P: Si en la clase principal, llamo al método de interfaz, ¿llamará a la implementación que pertenece a la clase que implementa la interfaz?

Por ejemplo:

public static void main(String[] args){
  A aa;
  aa.a();
}

¿Se imprimirá "Haz algo"?

Respuestas a la pregunta(5)

Su respuesta a la pregunta