I Java , det metode er en samling af udsagn, der udfører en bestemt opgave eller operation. Det er meget brugt, fordi det giver genbrugelighed af kodemidler, der skriver én gang og bruger det mange gange. Det giver også nem modifikation. Hver metode har sit eget navn, som det er hedder . Når compileren læser metodenavnet, kaldes metoden og udfører den angivne opgave. I dette afsnit vil vi lære hvordan man kalder foruddefinerede, brugerdefinerede, statiske, og abstrakt metoder i Java .
Kalder statisk metode i Java
I Java , en statisk metode er en metode, der påkaldes eller kaldes uden at skabe objektet for den klasse, hvor metoden er defineret. Alle de metoder, der har statisk nøgleord før metodenavnet, er kendt som statiske metoder . Vi kan også oprette en statisk metode ved at bruge statisk nøgleord før metodenavnet. Vi kan kalde en statisk metode ved at bruge Klassenavn.metodeNavn .
Det bedste eksempel på den statiske metode er hoved() metode. Det kaldes uden at skabe objektet.
java er tom
I det følgende program har vi kaldt den statiske metode for Math-klassen, kaldet min(), der returnerer minimumsværdien af to tal.
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); } }
Produktion:
Minimum number is 23
Kald den foruddefinerede metode i Java
I Java er foruddefinerede metoder de metoder, der allerede er defineret i klasserne. Når vi krævede en foruddefineret metode, kalder vi bare metoden ved dens navn.
I det følgende eksempel har vi brugt en metode ved navn hashCode() af klassen Objekt . At kalde den foruddefinerede metode hashCode() , har vi oprettet et objekt obj af Object-klassen, fordi det er metoden for Object-klassen. Ved at bruge objektet har vi kaldt hashCode() metode, der returnerer en hash-kode værdi for objektet.
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); } }
Produktion:
Hash Code of the object is: 2036368507
Kald brugerdefineret metode i Java
For at kalde en brugerdefineret metode skal vi først oprette en metode og derefter kalde den. Der skal oprettes en metode i klassen med navnet på metoden efterfulgt af parenteser (). Metodedefinitionen består af en metodehoved og metodetekst.
Vi kan kalde en metode ved at bruge følgende:
method_name(); //non static method calling
Hvis metoden er en statisk metode, bruger vi følgende:
obj.method_name(); //static method calling
Hvor obj er klassens objekt.
I det følgende eksempel har vi oprettet to brugerdefinerede metoder med navn showMessage() og displayMessage() . Det showMessage() metode er en statisk metode og displayMessage() metode er en ikke-statisk metode.
Bemærk, at vi har kaldt showMessage() metode direkte uden at bruge objektet. Mens displayMessage() metode kaldes ved at bruge klassens objekt.
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 } }
Produktion:
The static method invoked. Non-static method invoked.
En klasse kan indeholde to eller flere metoder med samme navn. Nu opstår et spørgsmål om, hvordan vi kan kalde to metoder med samme navn.
Når en klasse har to eller flere metoder med samme navn, er den differentieret med enten returtype eller typer af parameter eller antal parametre . Dette koncept kaldes metode overbelastning . For eksempel:
formater dato til streng
int sum(int x, int y); double sum(double x, double y);
Ovenstående to metoder har samme navn sum() men begge er forskellige. Den første sum()-metode returnerer en int-værdi og analyserer to heltal x og y som parametre. Mens den anden sum()-metode returnerer en dobbelt værdi og parser to dobbeltværdier a og y som parametre.
Lad os lave et program, der overbelaster sub() metode.
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); } }
Produktion:
subtraction of integer values: 22 subtraction of double values: 13.170000000000002
Kalder abstrakt metode i Java
En abstrakt metode er en metode, der er deklareret med en abstrakt søgeord. Den abstrakte metode har kun en metodedeklaration. Brødteksten af den abstrakte metode defineret i den anden klasse. den abstrakte metode skal angives i abstrakt klasse . Vi kan indstille abstrakte metoders synlighed som private eller offentlige. Vi kan ikke erklære en abstrakt metode som endelig, fordi den krænker fordelen ved den abstrakte metode.
Selve implementeringen af den abstrakte metode skal være i barnets klasse. Vi kan definere en abstrakt metode som følger:
tynd algoritme
abstract public void findArea();
Lad os lave et eksempel på at kalde den abstrakte metode.
I det følgende eksempel har vi lavet en klasse med navnet Abstrakt metodeeksempel og erklære det som abstrakt. I denne klasse har vi erklæret en abstrakt metode ved navn at vise() . Derefter har vi oprettet en anden klasse ved navn AbstractMethodCalling der udvider Abstrakt metodeeksempel klasse. I denne klasse har vi implementeret den abstrakte metode.
For at kalde den abstrakte metode show(), har vi oprettet en instans af den overordnede klasse og påberåbt den abstrakte metode.
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(); } }
Produktion:
The abstract method called.