Obecně platí, že a metoda je způsob, jak provést nějaký úkol. Podobně, metoda v Javě je sbírka instrukcí, která provádí konkrétní úkol. Poskytuje opětovnou použitelnost kódu. Můžeme také snadno upravit kód pomocí metody . V této části se naučíme co je metoda v Javě, typy metod, deklarace metody, a jak volat metodu v Javě .
Co je metoda v Javě?
A metoda je blok kódu nebo kolekce příkazů nebo sada kódů seskupených k provedení určitého úkolu nebo operace. Používá se k dosažení znovupoužitelnost kódu. Metodu napíšeme jednou a použijeme ji mnohokrát. Nepožadujeme psát kód znovu a znovu. Poskytuje také snadná modifikace a čitelnost kódu, pouhým přidáním nebo odebráním části kódu. Metoda se provede pouze tehdy, když ji zavoláme nebo vyvoláme.
Nejdůležitější metodou v Javě je hlavní() metoda. Pokud si chcete o metodě main() přečíst více, přejděte na odkaz https://www.javatpoint.com/java-main-method .
Prohlášení o metodě
Deklarace metody poskytuje informace o atributech metody, jako je viditelnost, návratový typ, název a argumenty. Má šest složek, které jsou známé jako hlavička metody , jak jsme si ukázali na následujícím obrázku.
Podpis metody: Každá metoda má podpis metody. Je součástí deklarace metody. Zahrnuje název metody a seznam parametrů .
Specifikátor přístupu: Specifikátor nebo modifikátor přístupu je typ přístupu metody. Specifikuje viditelnost metody. Java poskytuje čtyři typy specifikátoru přístupu:
Typ vrácení: Návratový typ je datový typ, který metoda vrací. Může mít primitivní datový typ, objekt, kolekci, void atd. Pokud metoda nic nevrací, použijeme klíčové slovo void.
řetězec do data
Název metody: Je to jedinečný název, který se používá k definování názvu metody. Musí odpovídat funkčnosti metody. Předpokládejme, že pokud vytváříme metodu pro odečítání dvou čísel, název metody musí být odčítání(). Metoda je vyvolána svým jménem.
Seznam parametrů: Je to seznam parametrů oddělených čárkou a uzavřených v závorkách. Obsahuje datový typ a název proměnné. Pokud metoda nemá žádný parametr, ponechte závorky prázdné.
Tělo metody: Je součástí deklarace metody. Obsahuje všechny akce, které mají být provedeny. Je uzavřena v páru složených závorek.
Pojmenování metody
Při definování metody nezapomeňte, že název metody musí být a sloveso a začněte s a malá písmena dopis. Pokud má název metody více než dvě slova, křestní jméno musí být sloveso a za ním přídavné jméno nebo podstatné jméno. Ve víceslovném názvu metody musí být první písmeno každého slova in velká písmena kromě prvního slova. Například:
Jednoslovný název metody: suma(), plocha()
Víceslovný název metody: areaOfCircle(), stringComparision()
Je také možné, že metoda má stejný název jako jiný název metody ve stejné třídě, je známá jako přetížení metody .
Typy metod
V Javě existují dva typy metod:
- Předdefinovaná metoda
- Uživatelsky definovaná metoda
Předdefinovaná metoda
V Javě jsou předdefinované metody metoda, která je již definována v knihovnách tříd Java, známá jako předdefinované metody. To je také známé jako standardní knihovní metoda nebo vestavěná metoda . Tyto metody můžeme přímo použít pouhým voláním v programu v libovolném bodě. Některé předdefinované metody jsou length(), equals(), CompareTo(), sqrt(), atd. Když v našem programu voláme kteroukoli z předdefinovaných metod, na pozadí běží řada kódů souvisejících s odpovídající metodou, která je již uložena v knihovně.
Každá a každá předdefinovaná metoda je definována uvnitř třídy. Jako tisk() metoda je definována v java.io.PrintStream třída. Vypíše příkaz, který zapíšeme do metody. Například, tisk ('Java') , vytiskne Javu na konzoli.
Podívejme se na příklad předdefinované metody.
Demo.java
public class Demo { public static void main(String[] args) { // using the max() method of Math class System.out.print('The maximum number is: ' + Math.max(9,7)); } }
Výstup:
The maximum number is: 9
Ve výše uvedeném příkladu jsme použili tři předdefinované metody main(), print(), a max() . Tyto metody jsme použili přímo bez deklarace, protože jsou předdefinované. Metoda print() je metoda PrintStream třída, která vytiskne výsledek na konzoli. Metoda max() je metoda Matematika třída, která vrací větší ze dvou čísel.
statická funkce v Javě
Pomocí odkazu můžeme také vidět podpis metody jakékoli předdefinované metody https://docs.oracle.com/ . Když projdeme odkaz a uvidíme podpis metody max(), najdeme následující:
Ve výše uvedeném podpisu metody vidíme, že podpis metody má specifikátor přístupu veřejnost , modifikátor bez přístupu statický , návratový typ int , název metody max(), seznam parametrů (int a, int b). Ve výše uvedeném příkladu jsme místo definice metody právě vyvolali metodu. To je výhoda předem definované metody. Díky tomu je programování méně komplikované.
Podobně můžeme vidět také podpis metody metody print().
Uživatelsky definovaná metoda
Metoda napsaná uživatelem nebo programátorem je známá jako uživatelsky definovaný metoda. Tyto metody jsou modifikovány podle požadavku.
Jak vytvořit metodu definovanou uživatelem
Vytvořme uživatelsky definovanou metodu, která kontroluje, zda je číslo sudé nebo liché. Nejprve definujeme metodu.
//user defined method public static void findEvenOdd(int num) { //method body if(num%2==0) System.out.println(num+' is even'); else System.out.println(num+' is odd'); }
Definovali jsme výše uvedenou metodu s názvem findevenodd(). Má to parametr na jednom typu int. Metoda nevrací žádnou hodnotu, proto jsme použili void. Tělo metody obsahuje kroky ke kontrole, zda je číslo sudé nebo liché. Pokud je číslo sudé, vytiskne číslo je sudý , jinak vytiskne číslo je liché .
Jak zavolat nebo vyvolat uživatelem definovanou metodu
Jakmile jsme definovali metodu, měla by být zavolána. Volání metody v programu je jednoduché. Když zavoláme nebo vyvoláme uživatelem definovanou metodu, řízení programu se přenese na volanou metodu.
import java.util.Scanner; public class EvenOdd { public static void main (String args[]) { //creating Scanner class object Scanner scan=new Scanner(System.in); System.out.print('Enter the number: '); //reading value from the user int num=scan.nextInt(); //method calling findEvenOdd(num); }
Ve výše uvedeném úryvku kódu, jakmile kompilátor dosáhne na řádek findEvenLichý(číslo), přenese řízení do metody a podle toho poskytne výstup.
Spojme oba úryvky kódů v jediném programu a spusťme jej.
SudýOdd.java
import java.util.Scanner; public class EvenOdd { public static void main (String args[]) { //creating Scanner class object Scanner scan=new Scanner(System.in); System.out.print('Enter the number: '); //reading value from user int num=scan.nextInt(); //method calling findEvenOdd(num); } //user defined method public static void findEvenOdd(int num) { //method body if(num%2==0) System.out.println(num+' is even'); else System.out.println(num+' is odd'); } }
Výstup 1:
Enter the number: 12 12 is even
Výstup 2:
Enter the number: 99 99 is odd
Podívejme se na další program, který vrací hodnotu volající metodě.
V následujícím programu jsme definovali metodu s názvem přidat() které sčítají obě čísla. Má dva parametry n1 a n2 celočíselného typu. Hodnoty n1 a n2 odpovídají hodnotě a a b. Metoda tedy sečte hodnotu a a b a uloží ji do proměnné s a vrátí součet.
Addition.java
public class Addition { public static void main(String[] args) { int a = 19; int b = 5; //method calling int c = add(a, b); //a and b are actual parameters System.out.println('The sum of a and b is= ' + c); } //user defined method public static int add(int n1, int n2) //n1 and n2 are formal parameters { int s; s=n1+n2; return s; //returning the sum } }
Výstup:
The sum of a and b is= 24
Statická metoda
Metoda, která má klíčové slovo static, se nazývá statická metoda. Jinými slovy, metoda, která patří spíše do třídy než do instance třídy, je známá jako statická metoda. Můžeme také vytvořit statickou metodu pomocí klíčového slova statický před názvem metody.
Hlavní výhodou statické metody je, že ji můžeme volat bez vytvoření objektu. Může přistupovat ke statickým datovým členům a také měnit jejich hodnotu. Používá se k vytvoření metody instance. Vyvolá se pomocí názvu třídy. Nejlepším příkladem statické metody je hlavní() metoda.
Příklad statické metody
Display.java
public class Display { public static void main(String[] args) { show(); } static void show() { System.out.println('It is an example of static method.'); } }
Výstup:
přepínač c#
It is an example of a static method.
Metoda instance
Metoda třídy je známá jako an instanční metoda . Je to a nestatické metoda definovaná ve třídě. Před voláním nebo vyvoláním metody instance je nutné vytvořit objekt její třídy. Podívejme se na příklad metody instance.
InstanceMethodExample.java
public class InstanceMethodExample { public static void main(String [] args) { //Creating an object of the class InstanceMethodExample obj = new InstanceMethodExample(); //invoking instance method System.out.println('The sum is: '+obj.add(12, 13)); } int s; //user-defined method because we have not used static keyword public int add(int a, int b) { s = a+b; //returning the sum return s; } }
Výstup:
The sum is: 25
Existují dva typy instančních metod:
Metoda přístupu: Metoda(y), která čte proměnnou(y) instance, je známá jako metoda přístupového objektu. Můžeme to snadno identifikovat, protože metoda má předponu slova dostat . Je také známý jako getry . Vrací hodnotu soukromého pole. Používá se k získání hodnoty soukromého pole.
Příklad
public int getId() { return Id; }
Mutátorová metoda: Metoda(y) čtou proměnné instance a také upravují hodnoty. Můžeme to snadno identifikovat, protože metoda má předponu slova soubor . Je také známý jako seřizovači nebo modifikátory . Nic to nevrací. Přijímá parametr stejného datového typu, který závisí na poli. Slouží k nastavení hodnoty soukromého pole.
Příklad
public void setRoll(int roll) { this.roll = roll; }
Příklad metody přístupového objektu a mutátoru
Student.java
public class Student { private int roll; private String name; public int getRoll() //accessor method { return roll; } public void setRoll(int roll) //mutator method { this.roll = roll; } public String getName() { return name; } public void setName(String name) { this.name = name; } public void display() { System.out.println('Roll no.: '+roll); System.out.println('Student name: '+name); } }
Abstraktní metoda
Metoda, která nemá tělo metody, se nazývá abstraktní metoda. Jinými slovy, bez implementace se nazývá abstraktní metoda. Vždy deklaruje v abstraktní třída . Znamená to, že třída samotná musí být abstraktní, pokud má abstraktní metodu. K vytvoření abstraktní metody použijeme klíčové slovo abstraktní .
Syntax
abstract void method_name();
Příklad abstraktní metody
Demo.java
abstract class Demo //abstract class { //abstract method declaration abstract void display(); } public class MyClass extends Demo { //method impelmentation void display() { System.out.println('Abstract method?'); } public static void main(String args[]) { //creating object of abstract class Demo obj = new MyClass(); //invoking abstract method obj.display(); } }
Výstup:
Abstract method...
Tovární metoda
Je to metoda, která vrací objekt do třídy, do které patří. Všechny statické metody jsou tovární metody. Například, NumberFormat obj = NumberFormat.getNumberInstance();