suivant: Exceptions
monter: Expressions, Opérateurs, Tableaux
précédent: Conversions de types
  Table des matières
- ``.'' permet d'accéder explicitement aux membres à partir d'une
référence sur un objet. Pour les membres statiques le ``.'' peut
s'appliquer au nom de la classe.
- NullPointerException en cas d'accès à une référence
null
- ``[]'' permet d'accéder aux éléments de tableaux
IndexOutOfBoundsxception en cas de dépassement des bornes du
tableau.
Pour une méthode, il faut que le type et le nombre des arguments
déterminent exactement la méthode associée.
Sans surcharge, il n'y a pas de problème.
La surcharge (+ l'héritage) peut compliquer un peu la façon dont est
déterminée la méthode invoquée.
Le compilateur essaie de déterminer la méthode qui correspond
le mieux :
- chercher toutes les méthodes possibles pour les paramètres, si parmi
elles une correspond exactement la choisir,
- supprimer les méthodes ``moins spécifiques'' : une méthode est moins
spécifique qu'une autre si tous les paramètres de la seconde peuvent
être affectés par les paramètres de la première,
- si après cela il ne reste qu'une méthode c'est elle qui sera choisie,
sinon l'invocation est invalide.
transparent
Surcharge
A f(A,Y)
/ \
X Y f(X,A)
| |
Z T f(Z,Y)
f(Aref a, Yref y) //OK f(A,Y)
f(Zref z, Aref a) //OK f(X,A)
f(Wref z, Tref t) //OK f(Z,Y)
f(Xref x, Yref y) // non
suivant: Exceptions
monter: Expressions, Opérateurs, Tableaux
précédent: Conversions de types
  Table des matières
Hugues Fauconnier
2002-01-11