Overbelaste zijn methoden in dezelfde klasse die dezelfde naam maar accepteren diverse soorten variabelen als argumenten . Bijvoorbeeld , kan een klasse twee verschillende " add " methoden bevatten : een die twee dubbele waarden accepteert , " toe te voegen ( dubbel a , dubbele b ) , " en een die twee integer waarden accepteert , " add ( int a , int b ) . " de computer bepaalt automatisch welke methode om te bellen tijdens de uitvoering op basis van de variabele soorten wordt doorgegeven aan de methode . Flexibiliteit Overbelaste methoden geeft programmeurs de flexibiliteit om een soortgelijke methode vragen om verschillende soorten data . Als u werkt op een wiskunde programma , bijvoorbeeld , kan u gebruik maken van overbelasting aan verschillende " vermenigvuldigen " klassen , die elk vermenigvuldigt een ander aantal type argumenten te creëren : de eenvoudigste " vermenigvuldigen ( int a , int b ) " , vermenigvuldigt twee gehele getallen , hoe meer ingewikkelde methode " vermenigvuldigen ( dubbel a , int b , int c ) " vermenigvuldigt een tweepersoonsbed met twee getallen - kon je dan bellen " vermenigvuldigen " op elke combinatie van variabelen die u hebt gemaakt een overbelaste methode voor en ontvangt het juiste resultaat . constructors Overbelasting wordt ook gebruikt op constructeurs om nieuwe objecten gezien de verschillende hoeveelheden gegevens te creëren . Bijvoorbeeld , kon u gebruik maken van overbelasting aan drie verschillende constructeurs voor een " Huis " object met een huisnummer , straatnaam en kleur variabelen te creëren . De eenvoudigste constructor " House ( ) " heeft geen argumenten en creëert een huis met standaard of lege variabelen . Een meer complexe constructeur , " House ( int huisnummer , straatnaam String ) , " creëert een huis met het opgegeven huisnummer en straatnaam , maar een standaard-of lege kleur . De meest complexe constructeur , " House ( int huisnummer , straatnaam String , String kleur ) , " creëert een huis met alle van de opgegeven informatie , zodat er niets als standaard . Je kan vervolgens een huis object op basis van de thans beschikbare informatie , met het niet beschikbaar zijn informatie leeg of op zijn standaard . Dubbelzinnige Referenties Overbelaste methoden must gebruiken verschillende nummers of soorten argumenten aan dubbelzinnigheid te vermijden . Als u twee methoden in dezelfde klasse die dezelfde naam hebben en te accepteren twee gehele getallen als argumenten te creëren , zal de Java-compiler in staat om onderscheid te maken tussen de twee te zijn , zelfs als de inputvariabelen verschillende namen hebben . Bijvoorbeeld , de methode " add ( int a , int b ) " kan niet bestaan in dezelfde klasse als de methode " add ( int c , int d ) . " Terug Soorten U moet een return type voor elke overladen methode definiëren . Methodes kunnen verschillende typen terugkeer - bijvoorbeeld " add ( int a , int b ) " kan een integer terug , terwijl de "add ( dubbel a , dubbele b ) " geeft een dubbel . Echter , Java kan geen onderscheid maken tussen twee verschillende methoden op basis van hun terugkeer type. Daarom, " int vermenigvuldigen ( dubbel a , dubbele b ) " kan niet bestaan in dezelfde klasse als " double vermenigvuldigen ( dubbel a , dubbele b ) . " < Br > |