Une méthode est surchargée lorqu’elle exécute des actions différentes selon le type et le nombre de paramètres transmis.
Exemple :
class Affiche {
public void afficheValeur(int i) {
System.out.println("nombre entier =" + i);
}
public void afficheValeur(float f) {
System.out.println("nombre flottant = " +f);
}
}
Il n’est pas possible d’avoir deux méthodes de même noms dont tous les paramètres sont identiques et dont seul le type retourné diffère.
Exemple :
class Affiche {
public float convert(int i) {
return ((float) i);
}
public double convert(int i) {
return ((double) i);
}
}
Résultat à la compilation :
C:\>javac Affiche.java
Affiche.java:5: Methods can’t be redefined with a different return type:
double convert(int) was float convert(int)
public double convert(int i){
^
1 error
|