La Confusion sur l'appel de la méthode de l'Interface Java

Disons que j'ai une interface Un, définis comme suit:

public interface A {
  public void a();
}

Il comprend méthode appelée void a();

J'ai une classe qui implémente cette interface et n'a qu'une méthode:

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

Q: Si dans la classe principale, j'appelle la méthode de l'interface, il va appeler la mise en œuvre appartenant à la classe qui implémente l'interface?

Par exemple:

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

Aura cette impression de "Faire quelque chose"?

  • Le côté gauche est toujours juste une fente où un objet peut aller. Comme Johan dit, vous avez besoin pour réellement "mettre" un objet, par la création d'un new.
  • S'il vous plaît essayer de poster un SSCCE pour décrire votre problème. Et inclure les messages d'erreur que vous obtenez. L'interface ne compile pas et la principale méthode de jeter une NullPointerException. Autre que cela, votre question est valide et doit être répondu par ma réponse ci-dessous.
  • Je suis maintenant à comprendre
  • N'oubliez pas d'accepter (coche) la meilleure réponse. Donc, tout le monde sait que le problème est résolu.
  • Cela fonctionne pour moi, merci. Mais est-ce le niveau moyen de l'aide service classes d'interface et serviceimpl classes?
InformationsquelleAutor Jay Zhang | 2013-04-23