Autor: Skender Mustafi
Nënshkrimi i metodës në Jáva definon llojin e metodës, funksionin e sajë si dhe llojin e rezultatit të cilin ajo do të na kthejë ose shtypë.
Ja disa nënshkrime metodash:
public static void main(String[] args) – nënshkrimi i metodës kryesore
public void emriMetodës() – nënshkrimi i një metode jo statike
public int syprineEKatrorit(int a, int b) – metoda e cila kthen një integër që paraqet një numër të plotë
public double() – metoda e cila kthen një numër jo të plotë
public boolean() – metoda e cila kthen një përgjigje, e vërtetë (true) ose e pa vërtetë (false) etj.
Pra siç mund të shohim metodat mund të kenë sintaksë të ndryshme e cila përcakton llojin e detyrës të cilën duhet realizuar metoda e caktuar. Psh termi static, në njërën arë përcakton nëse metoda është statike apo jo, kurse në anën tjetër ndikon drejtpërdrejtë në llojin e sintaksës e cila duhet thirrur atë metodë në një metodë tjetër (me static nuk ka nevojë të krijohet objekt i ri, kurse pa static duhet krijuar objekt në klasën përkatëse për të thirrur metodën në fjalë në atë klasë). Llojet e të dhënave primitive si int, double ose boolean kërkojnë kthim (return) të patjetërsueshëm të një rezultati, kurse void në anën tjetër këtë nuk e kërkon.
Disa metodat mund të kenë parametra ose të mos kenë. Psh. sipër metodës së syprinës së katrorit i kemi caktuar parametrat a dhe b të llojit int.
Nuk pranohen dy metoda me nënshkrim të njëjtë brenda një klase. Metodat të cilat kanë vetëm parametrat e ndryshëm gjithashtu nuk pranohen dhe klasa nuk kompilohet. Metodat të cilat dallojnë vetëm në atë nëse janë statike (kanë static në nëshkrim) ose jo nuk pranohen.
Më poshtë do të paraqesim një sërë metodash të ngjashme (po marrim metodën test() si shembull):
public static void test() -nëse e shkruajmë të parën në klasë të caktuar
public void test() – nuk pranohet pasi void nuk luan rol në këtë rast
protected static void test() – nuk pranohet pasi protected nuk luan rol në këtë rast
public int test(int a) – pranohet pasi kemi parametër shtesë
public int test(int[] a) – pranohet, kjo ndodh pasi int më sipër është lloj primitiv i të dhënave, kurse në këtë rast paraqet një grup të dhënash
public int test(int a, int a) – nuk pranohet pasi a definohet tek parametri i parë
public int test(int a, int b) – pranohet
public int test(int a, double b) – pranohet
public double test(int a, double b) – nuk pranohet
public int test(double a, double b) – pranohet