[Explained] Jak volat metodu v Javě

Metoda v Javě není nic jiného než znovu použitelný kus kódu, který lze spustit na vyžádání.

Metody se často nazývají funkce a všimnete si, že obě slova se používají zaměnitelně.

Význam používání metod nebo funkcí

Softwaroví vývojáři řeší problém tak, že jej rozdělí na menší problémy a vyřeší je tak, aby vyřešili problém jako celek. Tato myšlenka vedla k tomu, co je známé jako modulární architektura. V tomto přístupu vývojáři rozdělují kód na části, které lze přesouvat a spouštět k vyřešení většího problému.

Metody jsou výhodné, protože jsou použitelné v různých případech v celé aplikaci. Řekněme, že chcete vytvořit obslužnou metodu k odstranění všech nepotřebných mezer z věty. Bude mít smysl psát logiku pokaždé, když ji někde ve své aplikaci potřebujete?

Nebo má smysl vytvořit metodu jednou a pak použít stejnou metodu s různými vstupy na více místech ve vaší aplikaci? Ten druhý je samozřejmě lepší a efektivnější.

A nejen to, pomocí modifikátorů přístupu v Javě můžete dokonce ovládat, které metody jsou skutečně sdílené napříč aplikací a které ne. Pomáhá také, aby váš kód vypadal čitelněji, organizovaněji a strukturovaněji.

  Zdarma ke stažení: GarageBand pro iPhone a iPad je nezbytný

Typy metod v Javě

V Javě existují dva typy metod: uživatelem definované a předdefinované metody. Uživatelsky definované metody, jak název napovídá, jsou definovány explicitně programátorem. Příkladem uživatelem definované metody může být:

public int sum(int a, int b) {
    return a + b;
}

Na druhou stranu, předdefinované metody nebo vestavěné metody již existují jako součást programovacího jazyka Java. Příkladem vestavěné metody může být:

String text = "Hello World";
text.toLowerCase();

Zde je toLowerCase vestavěná metoda Java, kterou lze volat odkudkoli ve vašem kódu.

Struktura metody v Javě

Pojďme se podívat na ideální strukturu metody v Javě:

[access_modifier] [return_type] method_name(...parameters) {
    // method body
}

Tyto součásti metody musí být specifikovány v pořadí. Například metodu nelze definovat před návratovým typem a podobně. Pojďme se seznámit s funkcemi každé z těchto složek tvořících metodu a jak spolu fungují.

#1. Modifikátor přístupu

V Javě jsou modifikátory přístupu klíčová slova, která definují viditelnost metody, třídy, rozhraní, proměnné atd. Technicky je v Javě pět modifikátorů přístupu:

  • veřejný: přístupný všem třídám
  • private: přístupné pouze pro třídu, do které patří
  • default: výchozí modifikátor přístupu je podobný modifikátoru protected, ve kterém je metoda přístupná pouze uvnitř stejného balíčku
  • protected: přístupné v rámci podtříd nebo konkrétního balíčku
public int sum(a int, b int) {
    return a + b;
}

Zde má metoda calc modifikátor přístupu jako public, a proto bude přístupná odkudkoli.

  Co je TTY v Linuxu? (a jak používat příkaz tty)

#2. Typ návratu

Návratový typ funkce definuje datový typ dat, která funkce vrátí. Pokud nechcete z funkce nic vracet, zadejte v tomto případě návratový typ void. Klíčové slovo return nelze použít, když je zadán typ void. Aby bylo možné definovat funkci, je nutné zadat návratový typ.

public void log(String text) {
    System.out.println(text);
}

Výše uvedená metoda nic nevrací; je to jen tisk textu do konzole. A tedy návratový typ void.

#3. Název metody

Identifikuje metodu ve třídě a používá se k vyvolání metody z objektu.

class Print {
    void log(String text) {
        System.out.println(text);
    }
}

Print p = new Print();
p.log("hello world"); // outputs "hello world"

#4. Parametry

Metodám můžete předávat argumenty podle parametrů v nich definovaných. Pokud jsou například pro metodu definovány dva parametry, můžete předat pouze dva argumenty s odpovídajícími datovými typy. A argumenty musíte předat v pořadí, v jakém jsou definovány.

class Calc {
    int sum(a int, b int) {
        return a + b;
     }
}

Calc cal = new Calc();
cal.sum(3, 7); // will return 10

#5. Tělo

Tělo metody zahrnuje programovací logiku použitou k vrácení konkrétního výsledku. Provádí funkci, kterou má metoda vykonávat. Je uzavřen ve složených závorkách a často se nazývá blok kódu.

class Calc {
    int sum(a int, b int) {
        return a + b;
     }
}

Zde je příkaz return uvnitř složených závorek tělem součtu metody.

  Jak vytvořit text na jednobarevné tapety

Metody volání v Javě

Vyvolání metod v Javě je celkem jednoduché. Metodu můžete volat jejím jménem z instance třídy, ve které žije.

Statické metody lze vyvolat bez instance objektu třídy, ve které se nachází. Nestatické metody musí být striktně vyvolány z instance třídy, jinými slovy, z objektu.

U statických metod vypadá vyvolání takto:

class Math {
    public static int sum(int a, int b) {
        return a + b;
    }
}

public class Main {
    public static void main(String[] args) {
        int add = Math.sum(5, 2);
        System.out.println(add);
    }
}

Ve výše uvedeném kódu je metoda součtu uvnitř třídy Math statická metoda. A to je důvod, proč nemusíte vytvářet objekt (instanci) třídy Math, stačí vyvolat metodu ze samotné třídy.

Na druhé straně u nestatických metod vypadá vyvolání takto:

class Math {
    public int sum(int a, int b) {
        return a + b;
    }
}

public class Main {
    public static void main(String[] args) {
        int add = new Math().sum(5, 2);
        System.out.println(add);
    }
}

Zde vytváříte nový objekt ze třídy Math a poté vyvoláte metodu sum. Důvodem je to, že nestatické metody nejsou vytvořeny, dokud není vytvořena instance třídy.

Takto můžete volat metodu v Javě.

Závěrečná slova

Nejen v Javě, ale v jakémkoli programovacím jazyce jsou metody skvělým způsobem, jak uspořádat kód a znovu jej použít na více místech. Metody jsou stavebními kameny modulární architektury a architektury založené na komponentách.

Pokud jste v Javě, přečtěte si více o zpracování výjimek v Javě.