Metódy v Jave

1. Úvod

V prostredí Java sú metódy definované tam, kde definujeme obchodnú logiku aplikácie. Definujú interakcie medzi údajmi uzavretými v objekte.

V tomto návode prejdeme si syntaxi metód Java, definíciu podpisu metódy a spôsob volania a preťaženia metód.

2. Syntax metódy

Najprv sa metóda skladá zo šiestich častí:

  • Modifikátor prístupu: voliteľne môžeme určiť, odkiaľ kód má prístup k metóde
  • Typ vrátenia: typ hodnoty vrátenej metódou, ak existuje
  • Identifikátor metódy: názov, ktorý metóde dáme
  • Zoznam parametrov: voliteľný zoznam vstupov pre metódu oddelený čiarkami
  • Zoznam výnimiek: voliteľný zoznam výnimiek, ktoré môže metóda vyvolať
  • Telo: definícia logiky (môže byť prázdna)

Pozrime sa na príklad:

Pozrime sa podrobnejšie na každú z týchto šiestich častí metódy Java.

2.1. Modifikátor prístupu

Modifikátor prístupu nám umožňuje určiť, ktoré objekty môžu mať prístup k metóde. Existujú štyri možné modifikátory prístupu: verejné, chránené, súkromnéa predvolené (nazývané tiež balík-súkromné).

Metóda môže tiež obsahovať statický kľúčové slovo pred alebo po modifikátore prístupu. To znamená, že metóda patrí do triedy a nie do inštancií, a preto ju môžeme zavolať bez vytvorenia inštancie triedy. Metódy bez statický kľúčové slovo sú známe ako inštančné metódy a možno ich vyvolať iba v inštancii triedy.

Pokiaľ ide o výkon, statická metóda sa načíta do pamäte iba raz - počas načítania triedy - a je tak pamäťovo efektívnejšia.

2.2. Typ vrátenia

Metódy môžu vrátiť údaje do kódu, z ktorého boli volané. Metóda môže vrátiť primitívnu hodnotu alebo odkaz na objekt, alebo nemôže vrátiť nič ak použijeme neplatný kľúčové slovo ako návratový typ.

Pozrime sa na príklad a neplatný metóda:

public void printFullName (reťazec krstné meno, reťazec priezvisko) {System.out.println (meno + "" + priezvisko); }

Ak deklarujeme návratový typ, musíme zadať a návrat vyhlásenie v tele metódy. Raz návrat príkaz bol vykonaný, vykonanie tela metódy bude ukončené a ak bude viac príkazov, nebudú spracované.

Na druhej strane a neplatný metóda nevracia žiadnu hodnotu, a teda nemá a návrat vyhlásenie.

2.3. Identifikátor metódy

Identifikátor metódy je názov, ktorý priradíme špecifikácii metódy. Osvedčeným postupom je používať informatívny a popisný názov. Za zmienku stojí, že identifikátor metódy môže mať najviac 65536 znakov (aj tak dlhý názov).

2.4. Zoznam parametrov

Môžeme určiť vstupné hodnoty pre metódu v zozname jeho parametrov, ktorý je uvedený v zátvorkách. Metóda môže mať kdekoľvek od 0 do 255 parametrov, ktoré sú ohraničené čiarkami. Parametrom môže byť objekt, primitív alebo výčet. Anotácie Java môžeme použiť na úrovni parametra metódy (napríklad jarná anotácia @RequestParam).

2.5. Zoznam výnimiek

Môžeme určiť, ktoré výnimky spôsobí metóda, pomocou znaku hodí doložka. V prípade zaškrtnutej výnimky musíme buď vložiť kód do a Skús chytiť doložka alebo musíme poskytnúť a hodí doložka v podpise metódy.

Poďme sa teda pozrieť na zložitejší variant našej predchádzajúcej metódy, ktorý vrhá kontrolovanú výnimku:

public void writeName (názov reťazca) vyhodí IOException {PrintWriter out = nový PrintWriter (nový FileWriter ("OutFile.txt")); out.println ("Meno:" + meno); out.close (); }

2.6. Metóda Body

Poslednou časťou metódy Java je telo metódy, ktoré obsahuje logiku, ktorú chceme vykonať. V tele metódy môžeme napísať toľko riadkov kódu, koľko chceme - alebo vôbec žiadny, v prípade statický metódy. Ak naša metóda deklaruje návratový typ, potom telo metódy musí obsahovať návratový príkaz.

3. Podpis metódy

Podľa definície sa podpis metódy skladá iba z dvoch zložiek - názov metódy a zoznam parametrov.

Poďme teda napísať jednoduchú metódu:

public String getName (String firstName, String lastName) {return firstName + "" + middleName + "" + lastName; }

Podpis tejto metódy je getName (reťazec krstné meno, reťazec priezvisko).

Identifikátor metódy môže byť akýkoľvek identifikátor. Ak sa však riadime bežnými konvenciami kódovania v jazyku Java, identifikátorom metódy by malo byť sloveso s malými písmenami, za ktorým môžu nasledovať prídavné mená a / alebo podstatné mená.

4. Volanie metódy

Poďme to preskúmať ako zavolať metódu v Jave. Po predchádzajúcom príklade predpokladajme, že tieto metódy sú uzavreté v triede Java s názvom PersonName:

public class PersonName {public String getName (String firstName, String lastName) {return firstName + "" + middleName + "" + lastName; }}

Od nášho getName metóda je inštančná metóda a nie a statický metódu, aby bolo možné metódu zavolať getName, musíme vytvoriť inštanciu triedyPersonName:

PersonName personName = new PersonName (); Reťazec fullName = personName.getName ("Alan", "Turing");

Ako vidíme, pomocou vytvoreného objektu nazývame getName metóda.

Na záver sa poďme pozrieť na ako zavolať a statický metóda. V prípade statickej metódy nepotrebujeme na uskutočnenie hovoru inštanciu triedy. Namiesto toho vyvoláme metódu s predponou názvu triedy pred názvom triedy.

Ukážme si použitie variantu z predchádzajúceho príkladu:

public class PersonName {public static String getName (String firstName, String lastName) {return firstName + "" + middleName + "" + lastName; }}

V takom prípade je volanie metódy:

Reťazec fullName = PersonName.getName ("Alan", "Turing");

5. Preťaženie metódy

Java nám umožňuje mať dve alebo viac metód s rovnakým identifikátorom, ale s iným zoznamom parametrov - rôzne podpisy metód. V tomto prípade to hovoríme metóda je preťažená. Poďme na príklad:

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; } návrat krstné meno + "" + stredné meno + "" + priezvisko; }

Preťaženie metód je užitočné v prípadoch, ako je ten v príklade, kde môžeme mať metódu implementujúcu zjednodušenú verziu rovnakej funkcionality.

Nakoniec je dobrým dizajnovým zvykom zabezpečiť, aby sa preťažené metódy správali podobným spôsobom. V opačnom prípade bude kód mätúci, ak sa metóda s rovnakým identifikátorom správa inak.

6. Záver

V tomto tutoriáli sme preskúmali časti syntaxe Java, ktoré sú súčasťou špecifikácie metódy v Jave.

Prešli sme najmä modifikátorom prístupu, návratovým typom, identifikátorom metódy, zoznamom parametrov, zoznamom výnimiek a telom metódy. Potom sme videli definíciu podpisu metódy, ako metódu zavolať a ako metódu preťažiť.

Tu videný kód je ako obvykle k dispozícii na GitHub.


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