I Java , är en funktion som kallas en " metod ", och dess parametrar kallas En metod kan ta valfritt antal argument , men en enda metod header kan ta endast en definierad argument "argument . " ställa . För att acceptera olika uppsättningar , måste du skapa flera metod rubriker för varje annan uppsättning , eller " overload " metoden . Överbelastning Metoder
att överbelasta en metod , helt enkelt deklarera flera metoder med samma namn men med olika argument . Varje objekt av den klassen kommer att kunna ringa någon version av metoden genom att ange antingen uppsättning parametrar som argument . Du kan också ringa en annan version av en överbelastad metod insidan som metod kropp ( t.ex. " overloadedMethod ( ) " kan kalla " overLoadedMethod ( int , double ) " så länge den versionen har också förklarats ) .
Överbelastning av constructor
som standard har varje klass i Java en konstruktor som inte tar några argument , vilket helt enkelt initierar ett objekt och tar ingen annan åtgärd . Därför skapar du en instans av den klassen genom att ringa denna konstruktören . Men om du överbelastar konstruktorn med en version som tar flera argument , inaktiverar du den " default " nej - argument konstruktor , som kan bryta andra delar av koden som är beroende av att konstruktören . Du måste definiera en ny konstruktor utan argument om du vill ha någon - argumentet funktionalitet tillbaka .
Fördelar Överbelastning
En fördel för överbelastning är att det möjliggör anpassning i metodanrop . Om du vill utforma en metod som tar valfria flaggor , kan du överbelasta metoden att i huvudsak skapa två versioner : en som tar de obligatoriska argumenten endast , och en som tar alla potentiella argument . I själva metoden med färre argument , helt enkelt kalla den andra metoden , som passerar de argument som denna metod samt standardvärden för de valfria flaggor . Addera Överbelastning och Arv
När en klass ärver metoderna från sin super klass , ärver det också alla överbelastade metoder också . Det kan också omdefiniera ärvda metoder. När du skriver en överbelastad förälder metod , kommer barnet klassen använda sina egna överskrivna metoder när den hittar dem - annars kommer den att använda den överordnade klassens version
.