I Java er en funktion kaldes en " metode ", og dens parametre kaldes En metode kan tage et vilkårligt antal argumenter , men en enkelt metode header kan kun tage én defineret argument "argumenter ". indstille . For at acceptere forskellige sæt , skal du oprette flere metode headere for hvert andet sæt , eller " overbelaste" metoden. Overbelastning Metoder
overbelaste en metode , blot erklære flere metoder med samme navn , men med forskellige argumenter. Ethvert objekt i denne klasse vil være i stand til at ringe enten version af metoden ved at indtaste enten sæt parametre som argumenter . Du kan også ringe til en anden version af en overbelastet metode inde denne metode krop (fx " overloadedMethod ()" kan kalde " overLoadedMethod ( int, double )" så længe denne version er også blevet erklæret ) .
Overbelastning af Constructor
som standard hver klasse i Java har en konstruktør , der tager ingen argumenter , som blot instantierer et objekt, og tager ingen anden handling . Således du oprette en instans af denne klasse ved at kalde denne konstruktør. Men hvis du overbelaster konstruktøren med en version , der tager flere argumenter , du deaktiverer "default" no- argument konstruktør , som kan knække andre dele af den kode, der er afhængige af denne konstruktør. Du bliver nødt til at definere en ny konstruktør med nogen argumenter, hvis du vil have no- argument funktionalitet tilbage.
Fordele Overbelastning
En fordel for overbelastning er, at det giver mulighed for tilpasning i metodeaktiveringen . Hvis du ønsker at designe en metode , der tager valgfrie flag , kan du overbelaster den metode til at væsentlige oprette to versioner : en, der tager de obligatoriske argumenter kun vejledende, og en, der tager alle potentielle argumenter. I kroppen af metoden med færre argumenter , så ring blot anden metode , der passerer de argumenter til denne metode samt standardværdier for de valgfri flag.
Overbelastning og Inheritance
Når en klasse arver metoder fra sin super klasse, er det også arver alle overbelastet metoder så godt. Det kan også omdefinere nedarvede metoder . Når du overskriver en overbelastet forælder metode , vil barnet klassen anvende egne overskrevne metoder, når den finder dem - ellers vil den bruge den forælder klassen version
.