Módszerek Java-ban

1. Bemutatkozás

A Java-ban a módszerekkel határozhatjuk meg az alkalmazás üzleti logikáját. Meghatározzák az objektumba zárt adatok közötti kölcsönhatásokat.

Ebben az oktatóanyagban áttekintjük a Java metódusok szintaxisát, a metódus aláírásának meghatározását, valamint a módszerek meghívásának és túlterhelésének módját.

2. Módszer szintaxisa

Először egy módszer hat részből áll:

  • Hozzáférés-módosító: opcionálisan megadhatjuk, hogy a kód honnan érhető el a módszer
  • Vissza típus: a módszer által adott érték típusa, ha van ilyen
  • Módszer azonosítója: a módszernek adott név
  • Paraméterlista: opcionálisan vesszővel elválasztott beviteli lista a módszerhez
  • Kivételek listája: a metódus által dobható kivételek opcionális listája
  • Test: a logika meghatározása (lehet üres)

Lássunk egy példát:

Vizsgáljuk meg közelebbről a Java módszer mind a hat részét.

2.1. Hozzáférés-módosító

A hozzáférés-módosító lehetővé teszi, hogy meghatározzuk, mely objektumok férhetnek hozzá a módszerhez. Négy lehetséges hozzáférés-módosító létezik: nyilvános, védett, magán, és alapértelmezett (más néven: csomag-privát).

Egy metódus tartalmazhatja a statikus kulcsszó a hozzáférés-módosító előtt vagy után. Ez azt jelenti, hogy a metódus az osztályhoz tartozik és nem a példányokhoz, ezért a metódust úgy hívhatjuk meg, hogy nem hozunk létre az osztály egy példányát. Módszerek a statikus kulcsszó példány metódusok néven ismert, és csak az osztály egy példányára lehet meghívni.

Ami a teljesítményt illeti, egy statikus módszer csak egyszer kerül be a memóriába - az osztálybetöltés során -, és ezáltal hatékonyabb a memóriában.

2.2. Return Type

A módszerek visszaadhatják az adatokat arra a kódra, ahonnan hívták őket. Egy módszer visszaadhat primitív értéket vagy objektum hivatkozást, vagy nem adhat vissza semmit ha használjuk a üres kulcsszó visszatérési típusként.

Lássunk egy példát a üres módszer:

public void printFullName (String keresztnév, String vezetéknév) {System.out.println (keresztnév + "" + vezetékNév); }

Ha deklarálunk egy visszatérési típust, akkor meg kell adnunk a Visszatérés utasítás a módszer törzsében. Egyszer a Visszatérés utasítás végrehajtásra került, a method törzs végrehajtása befejeződik, és ha több utasítás van, akkor ezeket nem dolgozzuk fel.

Másrészt a üres A metódus nem ad vissza értéket, és ezért nem rendelkezik a-val Visszatérés nyilatkozat.

2.3. Method Identifier

A metódusazonosító az a név, amelyet a metódus specifikációhoz rendelünk. Jó gyakorlat informatív és leíró név használata. Érdemes megemlíteni, hogy a metódusazonosító legfeljebb 65536 karakterből állhat (ennek ellenére hosszú név).

2.4. Paraméterlista

Tudunk adja meg a módszer bemeneti értékeit paraméterlistájában, amely zárójelben található. A módszer 0 és 255 közötti paramétereket tartalmazhat, vesszővel határolva. A paraméter lehet objektum, primitív vagy felsorolás. Java megjegyzéseket használhatunk a metódus paraméter szintjén (például a tavaszi annotáció @RequestParam).

2.5. Kivételek listája

A metódus segítségével megadhatjuk, hogy mely kivételeket dobja el egy módszer dob kikötés. Ellenőrzött kivétel esetén vagy be kell csatolnunk a kódot az a-ba próbáld elkapni záradékot, vagy meg kell adnunk a dob záradék a metódus aláírásában.

Vessünk egy pillantást az előző módszerünk egy összetettebb változatára, amely bejelöl egy kivételt:

public void writeName (karakterlánc neve) kidobja az IOException-t {PrintWriter out = new PrintWriter (new FileWriter ("OutFile.txt")); out.println ("Név:" + név); out.close (); }

2.6. Módszer Test

A Java metódus utolsó része a method törzs, amely tartalmazza a végrehajtani kívánt logikát. A method törzsbe annyi kódsort írhatunk, amennyit csak akarunk - vagy egyáltalán sem statikus mód. Ha a módszerünk visszatérési típust deklarál, akkor a method törzsnek tartalmaznia kell egy return utasítást.

3. Módszer Aláírás

Meghatározása szerint a metódus aláírás csak két komponensből áll - a módszer nevét és paraméterlistáját.

Írjunk tehát egy egyszerű módszert:

public String getName (String keresztnév, String vezetéknév) {return keresztnév + "" + középnév + "" + vezetékNév; }

Ennek a módszernek az aláírása: getName (karakterlánc keresztnév, karakterlánc vezetéknév).

A metódusazonosító bármilyen azonosító lehet. Ha azonban a Java általános kódolási szokásait követjük, akkor a metódusazonosítónak kisbetűs igének kell lennie, amelyet melléknevek és / vagy főnevek követhetnek.

4. Módszer hívása

Most pedig fedezzük fel hogyan hívhatunk metódust Java-ban. Az előző példát követve tegyük fel, hogy ezek a módszerek az úgynevezett Java osztályba vannak zárva SzemélyNév:

public class Személynév {public String getName (String keresztnév, String vezetékNév) {return keresztnév + "" + középnév + "" + vezetékNév; }}

Mivel a mi getName A metódus egy példány metódus, és nem a statikus metódus, a metódus meghívása érdekében getName, meg kell hozzon létre egy példányt az osztálybólSzemélyNév:

PersonName personName = új PersonName (); Karakterlánc fullName = personName.getName ("Alan", "Turing");

Mint láthatjuk, a létrehozott objektumot használjuk a getName módszer.

Végül vessünk egy pillantást hogyan kell felhívni a statikus módszer. Statikus módszer esetén nincs szükség osztálypéldányra a hívás kezdeményezéséhez. Ehelyett a metódust hívjuk meg, amelynek neve az osztály neve előtt szerepel.

Bemutassuk az előző példa egyik változatát:

public class PersonName {public static String getName (String keresztnév, String vezetéknév) {return keresztnév + "" + középnév + "" + vezetékNév; }}

Ebben az esetben a metódus hívása:

String fullName = SzemélyNév.getName ("Alan", "Turing");

5. Módszer Túlterhelés

A Java lehetővé teszi számunkra, hogy két vagy több módszer ugyanazzal az azonosítóval, de eltérő paraméterlistával - különböző metódus-aláírások. Ebben az esetben ezt mondjuk a módszer túlterhelt. Nézzünk egy példát:

public String getName (String keresztnév, String vezetéknév) {return getName (keresztnév, "", vezetéknév); } public String getName (String keresztnév, String középnév, String vezetéknév) {if (! middleName.isEqualsTo ("")) {return firstName + "" + vezetékNév; } return firstName + "" + középnév + "" + vezetékNév; }

A módszer túlterhelése hasznos olyan esetekben, mint a példában, ahol rendelkezhetünk módszerrel ugyanazon funkció egyszerűsített változatának megvalósításával.

Végül egy jó tervezési szokás annak biztosítása, hogy a túlterhelt módszerek hasonló módon viselkedjenek. Ellenkező esetben a kód zavaró lesz, ha egy azonos azonosítóval rendelkező módszer más módon viselkedik.

6. Következtetés

Ebben az oktatóanyagban megvizsgáltuk a Java szintaxisának részeit, amikor a metódust megadtuk a Java-ban.

Különösen a hozzáférés-módosítót, a visszatérési típust, a metódusazonosítót, a paraméterlistát, a kivétellistát és a metódustestet néztük át. Ezután megláttuk a módszer aláírásának meghatározását, a módszer meghívását és a módszer túlterhelését.

Szokás szerint az itt látható kód elérhető a GitHubon.


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