Metoder i Java

1. Introduksjon

I Java er metoder der vi definerer forretningslogikken til en applikasjon. De definerer samspillet mellom dataene som ligger i et objekt.

I denne veiledningen, vi går gjennom syntaksen til Java-metoder, definisjonen av metodesignaturen, og hvordan man ringer og overbelaster metoder.

2. Metodesyntaks

For det første består en metode av seks deler:

  • Tilgangsmodifikator: valgfritt kan vi spesifisere hvor koden man kan få tilgang til metoden
  • Returtype: verdien av verdien som er returnert av metoden, hvis noen
  • Metodeidentifikator: navnet vi gir til metoden
  • Parameterliste: en valgfri komma-delt liste over innganger for metoden
  • Unntaksliste: en valgfri liste over unntak metoden kan kaste
  • Kropp: definisjon av logikken (kan være tom)

La oss se et eksempel:

La oss se nærmere på hver av disse seks delene av en Java-metode.

2.1. Access Modifier

Tilgangsmodifikatoren lar oss spesifisere hvilke objekter som kan ha tilgang til metoden. Det er fire mulige tilgangsmodifikatorer: offentlig, beskyttet, privat, og standard (også kalt pakke-privat).

En metode kan også inkludere statisk nøkkelord før eller etter tilgangsmodifikatoren. Dette betyr at metoden tilhører klassen og ikke tilfellene, og derfor kan vi kalle metoden uten å lage en forekomst av klassen. Metoder uten statisk nøkkelord er kjent som forekomstmetoder og kan bare påberopes på en forekomst av klassen.

Når det gjelder ytelse, vil en statisk metode lastes inn i minnet bare en gang - under klasseinnlasting - og er dermed mer minneeffektiv.

2.2. Returtype

Metoder kan returnere data til koden der de har blitt oppringt fra. En metode kan returnere en primitiv verdi eller en objektreferanse, eller den kan ikke returnere noe hvis vi bruker tomrom nøkkelord som returtype.

La oss se et eksempel på en tomrom metode:

public void printFullName (Streng fornavn, Streng etternavn) {System.out.println (fornavn + "" + etternavn); }

Hvis vi erklærer en returtype, må vi spesifisere en komme tilbake uttalelse i metodekroppen. Først når komme tilbake uttalelse er utført, vil kjøringen av metodens kropp være ferdig, og hvis det er flere uttalelser, blir disse ikke behandlet.

På den annen side, a tomrom metoden returnerer ingen verdi og har dermed ikke en komme tilbake uttalelse.

2.3. Metodeidentifikator

Metodeidentifikatoren er navnet vi tilordner til en metodespesifikasjon. Det er god praksis å bruke et informativt og beskrivende navn. Det er verdt å nevne at en metodeidentifikator maksimalt kan ha 65536 tegn (skjønt et langt navn).

2.4. Parameterliste

Vi kan spesifiser inngangsverdier for en metode i parameterlisten, som er lukket i parentes. En metode kan ha alt fra 0 til 255 parametere som er avgrenset med komma. En parameter kan være et objekt, en primitiv eller en oppregning. Vi kan bruke Java-merknader på metodeparameternivå (for eksempel vårkommentar @RequestParam).

2.5. Unntaksliste

Vi kan spesifisere hvilke unntak som kastes av en metode ved å bruke kaster klausul. I tilfelle et avkrysset unntak må vi enten legge koden inn i a prøvefangst klausul eller vi må oppgi en kaster klausul i metodesignaturen.

Så, la oss ta en titt på en mer kompleks variant av vår forrige metode, som gir et avkrysset unntak:

public void writeName (String name) kaster IOException {PrintWriter out = new PrintWriter (new FileWriter ("OutFile.txt")); out.println ("Navn:" + navn); ut. lukk (); }

2.6. Metodekropp

Den siste delen av en Java-metode er metodekroppen, som inneholder logikken vi vil utføre. I metodekroppen kan vi skrive så mange kodelinjer som vi vil - eller ingen i det hele tatt i tilfelle statisk metoder. Hvis metoden vår erklærer en returtype, må metodeteksten inneholde en returoppgave.

3. Metodesignatur

I henhold til definisjonen består en metodesignatur av bare to komponenter - metodens navn og parameterliste.

Så la oss skrive en enkel metode:

offentlig String getName (String fornavn, String etternavn) {return fornavn + "" + mellomnavn + "" + etternavn; }

Signaturen til denne metoden er getName (streng fornavn, streng etternavn).

Metodeidentifikatoren kan være hvilken som helst identifikator. Imidlertid, hvis vi følger vanlige Java-kodingskonvensjoner, bør metodeidentifikatoren være et verb i små bokstaver som kan følges av adjektiv og / eller substantiv.

4. Kaller en metode

La oss nå utforske hvordan man kaller en metode i Java. La oss anta at disse metodene følger det forrige eksemplet i en Java-klasse kalt Personnavn:

offentlig klasse Personnavn {offentlig String getName (String fornavn, String etternavn) {return fornavn + "" + mellomnavn + "" + etternavn; }}

Siden vår getName metoden er en forekomstmetode og ikke en statisk metode, for å kalle metoden getName, vi må lage en forekomst av klassenPersonnavn:

Personnavn personnavn = nytt personnavn (); Streng fullName = personName.getName ("Alan", "Turing");

Som vi kan se, bruker vi det opprettede objektet til å kalle getName metode.

Til slutt, la oss ta en titt på hvordan man kaller en statisk metode. Når det gjelder en statisk metode, trenger vi ikke en klasseinstans for å ringe. I stedet påkaller vi metoden med navnet foran et klassenavn.

La oss demonstrere ved hjelp av en variant av forrige eksempel:

offentlig klasse Personnavn {offentlig statisk streng getName (streng fornavn, streng etternavn) {retur fornavn + "" + mellomnavn + "" + etternavn; }}

I dette tilfellet er metodeanropet:

Streng fullName = PersonName.getName ("Alan", "Turing");

5. Metodeoverbelastning

Java tillater oss å ha to eller flere metoder med samme identifikator, men forskjellige parameterlister - forskjellige metodesignaturer. I dette tilfellet sier vi det metoden er overbelastet. La oss gå med et eksempel:

public String getName (String firstName, String lastName) {return getName (firstName, "", lastName); } public String getName (String firstName, String middleName, String lastName) {if (! middleName.isEqualsTo ("")) {return firstName + "" + lastname; } returner fornavn + "" + mellomnavn + "" + etternavn; }

Metodeoverbelastning er nyttig i tilfeller som den i eksemplet, hvor vi kan ha en metode som implementerer en forenklet versjon av samme funksjonalitet.

Til slutt er en god designvaner å sikre at overbelastede metoder oppfører seg på samme måte. Ellers vil koden være forvirrende hvis en metode med samme identifikator oppfører seg på en annen måte.

6. Konklusjon

I denne opplæringen har vi utforsket delene av Java-syntaksen som er involvert når vi spesifiserer en metode i Java.

Spesielt gikk vi gjennom tilgangsmodifikatoren, returtypen, metodeidentifikatoren, parameterlisten, unntakslisten og metodens kropp. Så så vi definisjonen av metodesignaturen, hvordan man kaller en metode og hvordan man overbelaster en metode.

Som vanlig er koden som vises her tilgjengelig på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found