|
Kétágú elágazás (if-else)
|
bet | 8/51 | Sana | 07.04.2017 | Hajmi | 1.08 Mb. | | #3295 |
Metódusok
Egy metódus sok dologban hasonlít a konstruktorhoz, azonban a metódus neve előtt szerepeltetni kell egy típust, amely típusú értéket a metódus visszaad. Egy metódusra úgy is gondolhatunk, mint egy matematikai függvényre, például az y = sin(x) esetén a színusz függvény az x érték színuszát adja értékül az y változónak. Nézzük meg egy átlagos metódust közelebbről:
view plaincopy to clipboardprint?
-
public String getNév()
-
{
-
return this.név;
-
}
A metódus feje távolról hasonlít a példányváltozók deklarálásához, attól "csak" a kerek zárójelek és a metódus törzsét jelentő kapcsos zárójelek különböztetik meg:
-
public String getNév(): a metódus feje, haladjunk a végétől az eleje felé:
-
(): a kerek zárójelek közé átadott paramétereket tudunk felsorolni, jelen esetben nem adunk át paramétert.
-
getNév: a metódus neve, amelyre ugyan azok a szabályok érvényesek, mint a példányváltozókra - leszámítva, hogy egy osztályon belül lehet több azonos nevű metódus, ha eltérő paramétereik vannak.
-
String: a metódus átlal visszaadott érték típusa, ha nem akarunk értéket visszaadni, akkor void szerepelhet ezen a részen.
-
public: az változókhoz hasonlóan a metódus működését és elérését a módosítók befolyásolhatják:
-
abstract: a metódus törzs nélküli, a törzset a leszármazott osztályok tartalmazzák.
-
final: a metódus törzse végleges, a leszármazott osztályban nem lehet azt megváltoztatni felüldefiniálással.
-
native: a metódus törzs nélküli, a törzse nem Java nyelven van megvalósítva.
-
private: a metódust csak az osztályon belül lehet elérni és használni, a leszármazott osztályok sem használhatják.
-
protected: a metódust az azonos csomagban lévő illetve leszármazott osztályok is elérik.
-
public: a metódus nyilvános, bárki számára elérhető és módosítható.
-
static: a metódus csak statikus példányváltozókkal tud dolgozni, s használatához nem kell az osztályt példányosítani.
-
synchronized: a metódus törzsében egyszerre csak egy szál tartózkodhat, erre a környezet ügyel.
-
strictfp: a metódus törzsében a lebegőpontos műveletek IEEE 754 szerint futnak le.
-
Szabályok:
-
Az abstract metódus nem lehet private, static, final, native, strictfp vagy synchronized.
-
Egy abstract metódus csak olyan osztályban lehet deklarálva, amelyik maga is abstract.
-
Az abstract vagy a native metódusnak nem lehet törzse, a kapcsos zárójelek helyett pontosvesszővel kell lezárni.
-
A public, a private és a protected közül csak egyet használhatunk. Ha egyiket se adjuk meg, akkor a metódust csak az azonos csomagban lévő osztályok látják, a leszármazottak számára már "láthatatlan".
-
A native és a strictfp nem használható együtt.
A metódus törzsét a kapcsos zárójelek között találjuk meg - a példában ez üres, ide kerülnek a Java nyelvű utasítások, amelyek lépésről-lépésre elvégzik a kért műveletet:
view plaincopy to clipboardprint?
-
|
| |