Metode u Javi

1. Uvod

U Javi metode definiraju poslovnu logiku aplikacije. Oni definiraju interakcije između podataka zatvorenih u objektu.

U ovom vodiču, proći ćemo kroz sintaksu Java metoda, definiciju potpisa metode i kako pozvati i preopteretiti metode.

2. Sintaksa metode

Prvo, metoda se sastoji od šest dijelova:

  • Modifikator pristupa: po želji možemo odrediti odakle kod može pristupiti metodi
  • Tip povrata: vrsta vrijednosti koju metoda vraća, ako postoji
  • Identifikator metode: naziv koji dajemo metodi
  • Popis parametara: izborni popis ulaza za metodu odvojen zarezom
  • Popis izuzetaka: neobavezni popis iznimaka koje metoda može izbaciti
  • Tijelo: definicija logike (može biti prazno)

Pogledajmo primjer:

Pogledajmo bliže svaki od ovih šest dijelova Java metode.

2.1. Modifikator pristupa

Modifikator pristupa omogućuje nam da odredimo koji objekti mogu imati pristup metodi. Postoje četiri moguća modifikatora pristupa: javno, zaštićeno, privatno, i zadani (također se naziva paket-privatni).

Metoda također može uključivati statički ključna riječ prije ili poslije modifikatora pristupa. To znači da metoda pripada klasi, a ne instancama, te je stoga možemo pozvati bez stvaranja instance klase. Metode bez statički Ključne riječi poznate su kao metode instance i mogu se pozvati samo na instanci klase.

Što se tiče performansi, statična metoda će se u memoriju učitati samo jednom - tijekom učitavanja klase - i time je učinkovitija u memoriji.

2.2. Tip povrata

Metode mogu vratiti podatke u kod odakle su pozvani. Metoda može vratiti primitivnu vrijednost ili referencu na objekt, ili ne može ništa vratiti ako koristimo poništiti ključna riječ kao vrsta povrata.

Pogledajmo primjer a poništiti metoda:

javna praznina printFullName (String firstName, String lastName) {System.out.println (firstName + "" + lastName); }

Ako deklariramo tip povratka, tada moramo navesti a povratak izjava u tijelu metode. Jednom povratak Izvedba je izvršena, izvršenje tijela metode će biti završeno, a ako ima više naredbi, one se neće obrađivati.

S druge strane, a poništiti metoda ne vraća nikakvu vrijednost i, prema tome, nema a povratak izjava.

2.3. Identifikator metode

Identifikator metode naziv je koji dodjeljujemo specifikaciji metode. Dobra je praksa koristiti informativno i opisno ime. Vrijedno je spomenuti da identifikator metode može imati najviše 65536 znakova (doduše dugo ime).

2.4. Popis parametara

Možemo odredite ulazne vrijednosti za metodu u svom popisu parametara koji je priložen u zagradama. Metoda može imati bilo od 0 do 255 parametara koji su ograničeni zarezima. Parametar može biti objekt, primitiv ili nabrajanje. Java napomene možemo koristiti na razini parametra metode (na primjer proljetne napomene @RequestParam).

2.5. Popis izuzetaka

Pomoću alata možemo odrediti koje se iznimke bacaju metodom baca klauzula. U slučaju provjerene iznimke, ili kod moramo priložiti u pokušaj uhvatiti klauzulu ili moramo navesti a baca klauzula u potpisu metode.

Dakle, pogledajmo složeniju varijantu naše prethodne metode, koja baca provjerenu iznimku:

public void writeName (naziv niza) baca IOException {PrintWriter out = novi PrintWriter (novi FileWriter ("OutFile.txt")); out.println ("Ime:" + ime); out.close (); }

2.6. Tijelo metode

Posljednji dio Java metode je tijelo metode, koje sadrži logiku koju želimo izvršiti. U tijelo metode možemo upisati onoliko redaka koda koliko želimo - ili uopće nijedan u slučaju statički metode. Ako naša metoda deklarira tip povratka, tada tijelo metode mora sadržavati izraz vraćanja.

3. Potpis metode

Prema svojoj definiciji, potpis metode sastoji se od samo dvije komponente - ime metode i popis parametara.

Pa napišimo jednostavnu metodu:

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

Potpis ove metode je getName (String firstName, String lastName).

Identifikator metode može biti bilo koji identifikator. Međutim, ako slijedimo uobičajene konvencije Java kodiranja, identifikator metode trebao bi biti glagol malim slovom iza kojeg mogu slijediti pridjevi i / ili imenice.

4. Pozivanje metode

Sada, istražimo kako nazvati metodu u Javi. Slijedeći prethodni primjer, pretpostavimo da su te metode zatvorene u Java klasu koja se naziva PersonName:

javna klasa PersonName {javni niz getName (String firstName, String lastName) {return firstName + "" + middleName + "" + lastName; }}

Od našeg getName metoda je metoda instance, a ne a statički metoda, kako bi se metoda pozvala getName, moramo stvoriti instancu klasePersonName:

PersonName personName = novo PersonName (); Niz fullName = personName.getName ("Alan", "Turing");

Kao što vidimo, koristimo stvoreni objekt da pozovemo getName metoda.

Napokon, pogledajmo kako nazvati a statički metoda. U slučaju statičke metode, za poziv nije potrebna instanca klase. Umjesto toga, pozivamo metodu s njezinim imenom s prefiksom imena klase.

Pokažimo pomoću varijante prethodnog primjera:

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

U ovom slučaju, poziv metode je:

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

5. Preopterećenje metode

Java nam omogućuje da imamo dvije ili više metoda s istim identifikatorom, ali različitim popisom parametara - različiti potpisi metoda. U ovom slučaju to kažemo metoda je preopterećena. Idemo sa primjerom:

javni String getName (String firstName, String lastName) {return getName (firstName, "", lastName); } javni String getName (String firstName, String middleName, String lastName) {if (! middleName.isEqualsTo ("")) {return firstName + "" + lastName; } return firstName + "" + middleName + "" + lastName; }

Preopterećenje metode korisno je za slučajeve poput ovog u primjeru, gdje možemo imati metodu koja implementira pojednostavljenu verziju iste funkcionalnosti.

Napokon, dobra navika dizajniranja je osigurati da se preopterećene metode ponašaju na sličan način. Inače će kod biti zbunjujući ako se metoda s istim identifikatorom ponaša na drugačiji način.

6. Zaključak

U ovom uputstvu istražili smo dijelove sintakse Java koji su uključeni prilikom specificiranja metode u Javi.

Konkretno, prošli smo kroz modifikator pristupa, vrstu povrata, identifikator metode, popis parametara, popis izuzetaka i tijelo metode. Tada smo vidjeli definiciju potpisa metode, kako pozvati metodu i kako preopteretiti metodu.

Kao i obično, kod koji se ovdje vidi dostupan je na GitHubu.