In Java , metóda je súbor príkazov, ktoré vykonávajú špecifickú úlohu alebo operáciu. Je široko používaný, pretože poskytuje znovupoužiteľnosť kódových prostriedkov, ktoré sa napíšu raz a použijú ich mnohokrát. Poskytuje tiež jednoduchú úpravu. Každý metóda má svoje meno, pod ktorým je volal . Keď kompilátor prečíta názov metódy, metóda sa zavolá a vykoná zadanú úlohu. V tejto časti sa naučíme ako volať preddefinované, používateľom definované, statické, a abstraktné metódy v Jave .
Volanie statickej metódy v jazyku Java
In Java , statická metóda je metóda, ktorá sa vyvoláva alebo volá bez vytvorenia objektu triedy, v ktorej je metóda definovaná. Všetky metódy, ktoré majú pred názvom metódy statické kľúčové slovo, sú známe ako statické metódy . Môžeme tiež vytvoriť statickú metódu pomocou statické kľúčové slovo pred názvom metódy. Môžeme zavolať statickú metódu pomocou ClassName.methodName .
Najlepším príkladom statickej metódy je Hlavná() metóda. Volá sa bez vytvorenia objektu.
koľko kláves má klávesnice
V nasledujúcom programe sme zavolali statickú metódu triedy Math s názvom min(), ktorá vracia minimálnu hodnotu dvoch čísel.
StaticMethodCallExample.java
import java.util.*; public class StaticMethodCallExample { public static void main(String args[]) { int a; //calling static method of the Math class a=Math.min(23,98); System.out.println('Minimum number is: ' + a); } }
Výkon:
Minimum number is 23
Volanie preddefinovanej metódy v jazyku Java
V jazyku Java sú preddefinované metódy metódy, ktoré sú už definované v triedach. Keď požadujeme akúkoľvek preddefinovanú metódu, zavoláme ju len jej názvom.
V nasledujúcom príklade sme použili metódu s názvom hashCode() triedy Objekt . Na volanie preddefinovanej metódy hashCode() , vytvorili sme objekt obj triedy Object, pretože je to metóda triedy Object. Použitím objektu, ktorý sme nazvali hashCode() metóda, ktorá vráti a hash kód hodnotu pre objekt.
PredefinedMethodCallExample.java
public class PredefinedMethodCallExample { public static void main(String[] args) { int a; Object obj=new Object(); a=obj.hashCode(); System.out.println('Hash Code of the object is: '+a); } }
Výkon:
Hash Code of the object is: 2036368507
Volanie metódy definovanej používateľom v jazyku Java
Ak chcete zavolať užívateľom definovanú metódu, najprv vytvoríme metódu a potom ju zavoláme. V triede musí byť vytvorená metóda s názvom metódy, za ktorým budú nasledovať zátvorky (). Definícia metódy pozostáva z hlavičky metódy a tela metódy.
Metódu môžeme zavolať pomocou nasledujúceho:
method_name(); //non static method calling
Ak je metóda statická, použijeme nasledovné:
obj.method_name(); //static method calling
Kde obj je objekt triedy.
latexové zoznamy
V nasledujúcom príklade sme vytvorili dve užívateľom definované metódy pomenované showMessage() a displayMessage() . The showMessage() metóda je statická metóda a displayMessage() metóda je nestatická metóda.
Všimnite si, že sme zavolali showMessage() metódu priamo, bez použitia objektu. Kým displayMessage() metóda sa volá pomocou objektu triedy.
MethodCallExample.java
public class MethodCallExample { //user-defined static method static void showMessage() { System.out.println('The static method invoked.'); } //user-defined non-static method void displayMessage() { System.out.println('Non-static method invoked.'); } public static void main(String[] args) { //calling static method without using the object showMessage(); //called method //creating an object of the class MethodCallExample me=new MethodCallExample(); //calling non-static method me.displayMessage(); //called method } }
Výkon:
The static method invoked. Non-static method invoked.
Trieda môže obsahovať dve alebo viac metód s rovnakým názvom. Teraz vyvstáva otázka, ako môžeme nazvať dve metódy s rovnakým názvom.
Ak má trieda dve alebo viac metód s rovnakým názvom, je odlíšená jednou z nich návratový typ alebo typy parametrov alebo počet parametrov . Tento koncept sa nazýva preťaženie metódy . Napríklad:
int sum(int x, int y); double sum(double x, double y);
Vyššie uvedené dve metódy majú rovnaký názov suma() ale obe sú odlišné. Prvá metóda sum() vracia hodnotu int a analyzuje dve celé čísla x a y ako parametre. Zatiaľ čo druhá metóda sum() vracia dvojitú hodnotu a analyzuje dve dvojité hodnoty a a y ako parametre.
Vytvorme program, ktorý preťažuje sub() metóda.
MethodOverloadingExample.java
public class MethodOverloadingExample { static int sub(int x, int y) { return x - y; } static double sub(double x, double y) { return x - y; } public static void main(String[] args) { int a = sub(45, 23); double b = sub(23.67,10.5); System.out.println('subtraction of integer values: ' +a); System.out.println('subtraction of double values: ' +b); } }
Výkon:
subtraction of integer values: 22 subtraction of double values: 13.170000000000002
Volanie abstraktnej metódy v Jave
Abstraktná metóda je metóda, ktorá je deklarovaná pomocou an abstraktné kľúčové slovo. Abstraktná metóda má iba deklaráciu metódy. Telo abstraktnej metódy definovanej v inej triede. abstraktná metóda musí byť deklarovaná v abstraktná trieda . Viditeľnosť abstraktných metód môžeme nastaviť ako súkromnú alebo verejnú. Abstraktnú metódu nemôžeme vyhlásiť za konečnú, pretože porušuje výhodu abstraktnej metódy.
Samotná implementácia abstraktnej metódy musí byť v triede dieťaťa. Abstraktnú metódu môžeme definovať takto:
zreťazenie reťazcov java
abstract public void findArea();
Vytvorme si príklad volania abstraktnej metódy.
V nasledujúcom príklade sme vytvorili triedu s názvom Príklad abstraktnej metódy a vyhlásiť ho za abstraktný. V tejto triede sme deklarovali abstraktnú metódu s názvom šou() . Potom sme vytvorili ďalšiu triedu s názvom AbstractMethodCalling ktorý predlžuje Príklad abstraktnej metódy trieda. V tejto triede sme implementovali abstraktnú metódu.
Na zavolanie abstraktnej metódy show() sme vytvorili inštanciu nadradenej triedy a vyvolali abstraktnú metódu.
AbstractMethodCalling.java
//abstract class abstract class AbstractMethodExample { //abstract method declaration abstract void show(); } public class AbstractMethodCalling extends AbstractMethodExample { //abstract method implementation void show() { System.out.println('The abstract method called.'); } public static void main(String args[]) { AbstractMethodExample obj = new AbstractMethodCalling(); //calling abstract method obj.show(); } }
Výkon:
The abstract method called.