En fait tu ne passes pas une interface à une méthode, tu passes un objet dont tu sais que la classe implémente l'interface Context, et c'est tout !
Donc la seule opération que tu puisses faire avec currentContext est la suivante :
User user = currentContext.getUser();
Tu ne peux pas faire de setUser() puisque la méthode n'est pas déclarée par l'interface. Par contre il y a de fortes chances que la classe implémentant l'interface dispose d'une telle méthode (éventuellement privée) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| class ContextImpl implements Context {
User user;
public ContextImpl(User user) {
this.user = user;
}
protected void setUser(User user) {
this.user = user;
}
public User getUser() {
return user;
}
} |
Partager