Java Methods


  Share  
|


Methoden worden gebruikt als de bouwstenen van uw programma, het uitvoeren van taken die kunnen weer worden opgeroepen en opnieuw en met dezelfde code om de taak elke keer uit te voeren. De fundamentele maar fundamentele onderdelen van de verklaring van een methode zijn zijn naam, return type, parameter handtekening, en de code segment accolades. De volgende regels code zijn een voorbeeld van een methode aangifte.

static void doSomething () (/ / add code hier)

Deze methode heet doSomething en heeft een rendement soort leegte, die slechts aangeeft dat de methode geen waarde retourneert. We hebben gezien het trefwoord leegte al, dat is de return type van de methode main. Als de methode doSomething werden toegevoegd aan uw belangrijkste programma klasse, dan in de belangrijkste methode van de klasse waarin u zou de methode doSomething oproep door het invoeren van de volgende code:

doSomething ();

Opmerking De methode doSomething moet worden statisch op het moment, omdat de belangrijkste methode, van waaruit we de methode doSomething gaan ervan uit gaat heten, is ook statisch. De methode doSomething zou niet moeten worden statische als we een instantie van de klasse waartoe doSomething zou behoren gemaakt.

Als u een methode wilt dat een waarde teruggeeft, moet u de return type van de methode, en dan moet je het trefwoord terug in de methode blok code te gebruiken om de waarde terug te geven.

static int getFiveDoubled () (return 10;)

De volgende methode zal alleen de terugkeer van de waarde van 10 naar waar het was van genoemd. De volgende regel van de code kan worden toegevoegd, bijvoorbeeld in uw belangrijkste methode toewijzen deze waarde aan een variabele:

int MyNumber = getFiveDoubled ();

Deze lijn van code zal toewijzen van de waarde van 10 tot en met de variabele MyNumber.

Opmerking Juist omdat de methode getFiveDoubled nu een return type heeft, betekent dit niet dat het niet kan worden opgeroepen op haar eigen.

getFiveDoubled ();

Deze methode zal in wezen niets doen, maar je kan een methode die een vereiste taak uitvoert en vervolgens geeft een waarde, die u wilt negeren.

Een methode die een terugkeer waarde (niet void) moet een return-statement hebben op alle mogelijke uitgang uit de methode heeft. De compiler zal halen als een pad zonder een return waarde mogelijk is. Aan de andere kant, als je een methode met return type void en vervolgens uit te willen verlaten van de methode te vroeg, dan kunt u het trefwoord rendement op zijn eigen. Neem bijvoorbeeld de volgende code:

public void doSomething () (if (leaveEarly == true) return; / / anders verder met de rest van de code)

Dit is vergelijkbaar met hoe het break-statement wordt gebruikt om uit afrit van bepaalde code blokken, zoals schakelaar gevallen en loops, zoals we eerder zagen. Het voorbeeld dat we zojuist hebben gezien is een zeer fundamentele voorbeeld, maar het gebruik van het trefwoord terug in dit geval kan zeer nuttig zijn voor het onmiddellijk verlaten van ingewikkelde code clusters met een bepaalde methode.

Parameter Passing

De vorige methode, getFiveDoubled, is vrij zinloos en erg lastig omdat het alleen zal een waarde van 10 terug. Toch kan creëren we een methode die zal plaatsvinden in een willekeurig aantal, dubbel, en dan terug de dubbele waarde. Dit kan worden bereikt met behulp van parameter passeren. Parameter doorgeven kunt u de waarden doorgeven aan een methode die de methode dan kan manipuleren. De volgende methode bevat een parameter, die wordt verdubbeld en de nieuwe waarde wordt geretourneerd.

doubleNumber int (int aantal) (nummer *= 2; return getal;)

Zoals u kunt zien, de parameter is een variabele opgeroepen nummer van het type int en wordt aangegeven tussen de haakjes die volgen op de naam van de methode. Als u deze methode, kan je, bijvoorbeeld, gebruikt u de volgende code:

/ / Double van 2 gelijk is aan 4 int MyNumber = doubleNumber (2); / / dan het dubbele van het huidige aantal van 4 is gelijk aan 8 MyNumber = doubleNumber (MyNumber) / / dan verviervoudigen haar huidige aantal van 32 MyNumber = doubleNumber (doubleNumber (MyNumber gelijk ));

Deze laatste regel van de code zal de oproep van de methode doubleNumber tweemaal in de eerste terugkeer van een waarde die dubbele is de waarde van MyNumber, die op zijn beurt wordt vervolgens als parameter om de tweede oproep te doubleNumber die uiteindelijk geeft de definitieve waarde van 32, toe te wijzen de variabele MyNumber.

Herhalen wat we al eerder, indien de waarde die u doorgeven als een parameter is van een primitieve datatype variabele, de variabele zelf niet wordt doorgegeven aan de methode. Een nieuwe variabele met die waarde wordt gecreëerd in de methode en vervolgens gebruikt. Dit betekent dat wijzigingen in deze waarde binnen de opgeroepen methode zal niet van invloed op de waarde van de oorspronkelijke variabele.

U kunt ook meer dan een parameter, met behulp van een komma om opeenvolgende parameters te scheiden. Het volgende eenvoudige voorbeeld, SpidersEyes.java, bevat de methode vermenigvuldigen, die twee parameters die zowel van het type int bevat en geeft de waarde van de twee parameters samen vermenigvuldigd. Hier is de code:

public class SpidersEyes (public static int vermenigvuldigen (valueA int, int valueB) (return valueA * valueB;) public static void main (String args []) (int numberOfSpiders = 10; int eyesPerSpider = 8; int totalEyes = vermenigvuldigen (numberOfSpiders, eyesPerSpider); System.out.println ( "Totaal Ogen =" + totalEyes);))

Er zijn twee dingen om op te merken uit dit voorbeeld. Ten eerste hebben we gebruik gemaakt van de statische sleutelwoord voor de methode vermenigvuldigen. Dit komt omdat er geen instantie van de klasse SpidersEyes moment gemaakt, dus in orde voor de belangrijkste, die statisch is, kunnen de methode vermenigvuldigen toegang moet worden statisch ook. Het tweede wat opvalt is dat de methode ook neemt een belangrijke parameter, die een array van Strings.

Methode Handtekeningen

Het is mogelijk om twee methoden die dezelfde naam hebben. Toch moet zij verschillende handtekeningen hebben want anders wanneer u een van de methoden oproep, de compiler geen enkele manier heeft onderscheiden van elkaar, zoals het inroepen van de methode is gebaseerd op het herkennen van de compiler handtekening. Na methoden met dezelfde naam maar met verschillende handtekeningen staat bekend als overbelasting van de methode.

De naam van de methode en de parameter ondertekening van deze methode bepalen handtekening een methode's. De terugkeer type van een methode heeft geen invloed op de ondertekening ervan. Vandaar dat je niet kunt twee methoden met dezelfde naam met twee verschillende waarden terug met dezelfde parameter handtekening.

In het vorige voorbeeld, SpidersEyes.java, hadden we een methode genaamd vermenigvuldigen, die twee parameterwaarden van het type int nam, terug de waarde van de parameter waarden bij elkaar vermenigvuldigd. Als we ook een methode die hetzelfde deed, maar gebruikte waarden van het type double in plaats daarvan, kunnen we een andere methode met dezelfde naam te maken maar met een andere parameter handtekening.

public static int vermenigvuldigen (int a, int b) (return a * b;) public static double vermenigvuldigen (double a, double b) (return a * b;)

De parameter handtekening wordt bepaald door de data types van de parameters en dus het aantal parameters ook. Laten we zeggen dat we nu toegevoegd de volgende methode, samen met de vorige twee methoden:

public static long vermenigvuldigen (int a, int b) (return (long) (a * b);)

Het programma zou niet langer te stellen, want deze methode en de originele vermenigvuldigen methode dezelfde handtekening. Ze hebben dezelfde naam en ook dezelfde parameter handtekening twee parameters, zowel van het type int. De meest voor de hand liggende oplossing is om de parameter ondertekening van de laatste methode veranderen in twee parameters van het type lang duren.

public static long vermenigvuldigen (lang, lang b) (return a * b;)

Dit zal nu werken omdat de parameter handtekeningen verschillend zijn. Als u niet in staat zijn om de parameter veranderen handtekening op een redelijke manier, niet de moeite niet, geef de methoden verschillende namen (bv. multiplyInt, multiplyDouble, multiplyLong, enz.).

een artikel ingediend door Gabriela Perez C.


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions