Je pense que si vous parlez des avantages de la fonction/surcharge de la méthode, quelque chose sans laquelle vous ne pourrez pas obtenir votre chemin autour, alors comme vous l'avez indiqué dans votre question, vous ne trouverez pas.
Mais comment est-il utile? Prenons l'exemple.
Supposons que je suis en train de faire une application qui trouve une personne par son nom et j'ai déclarer et définir une méthode
public Person[] findPerson(String name)
Maintenant, nous obtenons une condition où nous avons trouver une personne par sa Date de Naissance, afin d'introduire une nouvelle méthode
public Person[] findPerson_byDOB(Date date)
Supposons que cela continue et que nous avons cela de nombreuses méthodes dans mon application.
public Person[] findPerson(String name)
public Person[] findPerson_byDOB(Date date)
public Person[] findPerson_byAddress(Address address)
public Person[] findPerson_bySSN(SSN ssn)
public Person[] findPerson_byDepartment(Department department)
public Person[] findPerson_byMobile(Mobile mobile)
C'est juste une partie; cela peut mener lorsque l'on nous demande d'introduire plusieurs paramètres, comme
public Person[] findPerson_byMobileAndAddress(Mobile mobile, Address address)
public Person[] findPerson_byAddressAndDepartment(Address address, Department department)
public Person[] findPerson_byDOBAndDepartment(DOB dob, Department, department)
public Person[] findPerson_byAddressAndDOB(Address address, DOB dob)
et beaucoup, beaucoup plus...
Tandis que ceci peut sembler un peu exagéré, faites-moi confiance, lors de la prise réelle de l'industrie au niveau de l'application, nous pouvons venir dans une situation lorsque nous recevons des centaines et des centaines de méthodes de ce genre, et, finalement, nous allons avoir besoin d'un catalogue de l'ensemble de ces méthodes ce qu'ils font réellement.
Il est en fait un cauchemar quand nous aurons à trouver le nom de toutes ces méthodes lorsque nous aurait à l'utiliser.
Toutefois, lorsque tous les paramètres sont différents, on peut donner le même nom à la fonction et il devient vraiment très facile à retenir.
public Person[] findPerson(String name)
public Person[] findPerson(Date date)
public Person[] findPerson(Address address)
public Person[] findPerson(SSN ssn)
public Person[] findPerson(Department department)
public Person[] findPerson(Mobile mobile)
public Person[] findPerson(Mobile mobile, Address address)
public Person[] findPerson(Address address, Department department)
public Person[] findPerson(DOB dob, Department, department)
public Person[] findPerson(Address address, DOB dob)
Maintenant, comme David l'a souligné dans sa réponse, nous savons tous comment obtenir de l' String
de la valeur de l'entier; probablement que nous avons lu quelque part.
static String.valueOf(new Integer(1));
Mais savez-vous combien d'autres méthodes sont là que sont surchargés avec le même nom?
static String.valueOf(boolean b)
static String.valueOf(char c)
static String.valueOf(char[] data)
static String.valueOf(double d)
static String.valueOf(float f)
static String.valueOf(int i)
static String.valueOf(long l)
static String.valueOf(Object obj)
Les avantages sont que vous n'avez pas à mémoriser tous. Vous n'avez même pas à deviner parce que c'est le même nom dans tous les sens.
MODIFIER comme par Namnodorel conseils
Envisager cette méthode surchargée d' PrintStream
classe.
void println()
void println(boolean x)
void println(char x)
void println(char[] x)
void println(double x)
void println(float x)
void println(int x)
void println(long x)
void println(Object x)
void println(String x)
Il suffit de penser à la lisibilité si nous avons dû écrire:
void println_emptyLine()
void println_boolean(boolean x)
void println_character(char x)
void println_characterArray(char[] x)
void println_double(double x)
void println_float(float x)
void println_integer(int x)
void println_long(long x)
void println_object(Object x)
void println_string(String x)