Ban ben Jáva , a módszer olyan utasítások gyűjteménye, amelyek egy adott feladatot vagy műveletet hajtanak végre. Széles körben használják, mert lehetővé teszi az egyszer írható és többszöri használatú kódok újrafelhasználását. Könnyű módosítást is biztosít. Minden egyes módszer saját neve van, amelyen van hívott . Amikor a fordító beolvassa a metódus nevét, a metódus meghívásra kerül, és végrehajtja a megadott feladatot. Ebben a részben megtanuljuk hogyan hívjunk előre meghatározott, felhasználó által meghatározott, statikus, és absztrakt módszerek Java-ban .
Statikus metódus hívása Java-ban
Ban ben Jáva , a statikus metódus olyan metódus, amelyet anélkül hívnak meg vagy hívnak meg, hogy létrehozzák annak az osztálynak az objektumát, amelyben a metódus definiálva van. Az összes olyan metódust, amelynek a metódus neve előtt statikus kulcsszó van, néven ismerjük statikus módszerek . A segítségével statikus metódust is létrehozhatunk statikus kulcsszó a metódus neve előtt. Statikus metódust hívhatunk a ClassName.methodName .
A statikus módszer legjobb példája a fő() módszer. Az objektum létrehozása nélkül hívják meg.
hány város usa
A következő programban a Math osztály statikus metódusát hívtuk meg, melynek neve min(), amely két szám minimális értékét adja vissza.
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); } }
Kimenet:
Minimum number is 23
Az előre meghatározott metódus meghívása Java nyelven
A Java-ban az előre definiált metódusok azok a metódusok, amelyek már definiáltak az osztályokban. Ha bármilyen előre definiált metódusra van szükségünk, csak a nevén hívjuk a metódust.
A következő példában egy elnevezésű metódust használtunk hash kód() az osztályból Tárgy . Az előre meghatározott metódus meghívása hash kód() , létrehoztunk egy objektumot obj az Object osztály metódusa, mert ez az Object osztály metódusa. Az objektum használatával a hash kód() metódus, amely visszaadja a hash kód az objektum értéke.
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); } }
Kimenet:
Hash Code of the object is: 2036368507
Felhasználó által meghatározott módszer hívása Java nyelven
Egy felhasználó által definiált metódus meghívásához először létrehozunk egy metódust, majd meghívjuk. Az osztályban létre kell hozni egy metódust a metódus nevével, majd zárójelekkel (). A metódus definíciója a metódus fejlécéből és a metódustörzsből áll.
Meghívhatunk egy metódust a következő használatával:
method_name(); //non static method calling
Ha a módszer statikus, akkor a következőket használjuk:
obj.method_name(); //static method calling
Ahol az obj az osztály tárgya.
A következő példában két felhasználó által definiált metódust hoztunk létre showMessage() és displayMessage() . A showMessage() módszer egy statikus módszer és displayMessage() módszer egy nem statikus módszer.
Vegye figyelembe, hogy a showMessage() módszert közvetlenül, az objektum használata nélkül. Amíg a displayMessage() metódus az osztály objektumával hívható meg.
tavaszi csizma
MethodCallPélda.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 } }
Kimenet:
The static method invoked. Non-static method invoked.
Egy osztály két vagy több azonos nevű metódust tartalmazhat. Felmerül a kérdés, hogy hogyan hívhatunk két metódust azonos néven.
Ha egy osztálynak két vagy több, azonos nevű metódusa van, akkor bármelyik különbözteti meg visszatérési típus vagy paraméterek típusai vagy paraméterek száma . Ezt a koncepciót az ún módszer túlterhelése . Például:
int sum(int x, int y); double sum(double x, double y);
A fenti két módszernek ugyanaz a neve összeg() de mindkettő más. Az első sum() metódus egy int értéket ad vissza, és két x és y egész számot értelmez paraméterként. Míg a második sum() metódus dupla értéket ad vissza, és két a és y dupla értéket elemzi paraméterként.
Készítsünk olyan programot, ami túlterheli alatti() módszer.
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); } }
Kimenet:
subtraction of integer values: 22 subtraction of double values: 13.170000000000002
Absztrakt módszer hívása Java nyelven
Az absztrakt metódus egy olyan metódus, amelyet an-val deklarálunk absztrakt kulcsszó. Az absztrakt metódusnak csak metódus deklarációja van. A másik osztályban definiált absztrakt metódus törzse. az absztrakt módszert deklarálni kell a absztrakt osztály . Az absztrakt módszerek láthatóságát beállíthatjuk privátra vagy nyilvánosra. Egy absztrakt módszert nem nyilváníthatunk véglegesnek, mert sérti az absztrakt módszer előnyeit.
Az absztrakt módszer tényleges megvalósításának a gyermek osztályában kell lennie. Egy absztrakt módszert a következőképpen definiálhatunk:
script shell végrehajtása
abstract public void findArea();
Hozzunk létre egy példát az absztrakt módszer meghívására.
A következő példában létrehoztunk egy osztályt a névvel Abstract MethodPélda és absztraktnak nyilvánítja. Ebben az osztályban deklaráltunk egy absztrakt metódust, melynek neve előadás() . Ezt követően létrehoztunk egy másik nevű osztályt AbstractMethodCalling amely kiterjeszti a Abstract MethodPélda osztály. Ebben az osztályban az absztrakt módszert valósítottuk meg.
A show() absztrakt metódus meghívásához létrehoztuk a szülőosztály egy példányát, és meghívtuk az absztrakt metódust.
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(); } }
Kimenet:
The abstract method called.