logo

Metode i Java

Generelt, a metode er en måde at udføre en opgave. Tilsvarende metode i Java er en samling af instruktioner, der udfører en bestemt opgave. Det giver genbrugelighed af kode. Vi kan også nemt ændre kode vha metoder . I dette afsnit vil vi lære hvad er en metode i Java, typer af metoder, metodeerklæring, og hvordan man kalder en metode i Java .

Hvad er en metode i Java?

EN metode er en kodeblok eller samling af udsagn eller et sæt kode grupperet sammen for at udføre en bestemt opgave eller operation. Det bruges til at opnå genbrugelighed af kode. Vi skriver en metode én gang og bruger den mange gange. Vi behøver ikke at skrive kode igen og igen. Det giver også nem modifikation og læsbarhed kode, blot ved at tilføje eller fjerne en del kode. Metoden udføres kun, når vi kalder eller kalder den.

Den vigtigste metode i Java er hoved() metode. Hvis du vil læse mere om main() metoden, så gå gennem linket https://www.javatpoint.com/java-main-method .

Metodeerklæring

Metodeerklæringen giver oplysninger om metodeattributter, såsom synlighed, returtype, navn og argumenter. Det har seks komponenter, der er kendt som metodehoved , som vi har vist i den følgende figur.

Metode i Java

Metode signatur: Hver metode har en metodesignatur. Det er en del af metodedeklarationen. Det omfatter metodenavn og parameterliste .

Adgangsspecifikation: Adgangsspecifikation eller modifikator er metodens adgangstype. Det angiver metodens synlighed. Java giver fire typer af adgangsspecifikation:

    Offentlig:Metoden er tilgængelig for alle klasser, når vi bruger public specificifier i vores applikation.Privat:Når vi bruger en privat adgangsspecifikation, er metoden kun tilgængelig i de klasser, hvor den er defineret.Beskyttet:Når vi bruger beskyttet adgangsspecifikation, er metoden tilgængelig inden for den samme pakke eller underklasser i en anden pakke.Standard:Når vi ikke bruger nogen adgangsspecifikation i metodeerklæringen, bruger Java som standard standardadgangsspecifikation. Det er kun synligt fra den samme pakke.

Returtype: Returtype er en datatype, som metoden returnerer. Det kan have en primitiv datatype, objekt, samling, void osv. Hvis metoden ikke returnerer noget, bruger vi void nøgleord.

java åben fil

Metodenavn: Det er et unikt navn, der bruges til at definere navnet på en metode. Det skal svare til metodens funktionalitet. Antag, at hvis vi opretter en metode til subtraktion af to tal, skal metodenavnet være subtraktion(). En metode påkaldes af dens navn.

Parameterliste: Det er listen over parametre adskilt af et komma og omgivet af parantes. Den indeholder datatypen og variabelnavnet. Hvis metoden ikke har nogen parameter, skal du lade parenteserne stå tomme.

Metodens krop: Det er en del af metodedeklarationen. Den indeholder alle de handlinger, der skal udføres. Den er indesluttet i parret af krøllede seler.

Navngivning af en metode

Mens du definerer en metode, skal du huske, at metodenavnet skal være en udsagnsord og start med a små bogstaver brev. Hvis metodenavnet har mere end to ord, skal fornavnet være et verbum efterfulgt af adjektiv eller navneord. I metodenavnet med flere ord skal det første bogstav i hvert ord være i store bogstaver undtagen det første ord. For eksempel:

Enkeltords metodenavn: sum(), areal()

Metodenavn med flere ord: areaOfCircle(), stringComparision()

Det er også muligt, at en metode har samme navn som et andet metodenavn i samme klasse, den er kendt som metode overbelastning .

Metodetyper

Der er to typer metoder i Java:

  • Foruddefineret metode
  • Brugerdefineret metode

Foruddefineret metode

I Java er foruddefinerede metoder den metode, der allerede er defineret i Java-klassebibliotekerne, er kendt som foruddefinerede metoder. Det er også kendt som standard biblioteksmetode eller indbygget metode . Vi kan direkte bruge disse metoder bare ved at kalde dem i programmet på et hvilket som helst tidspunkt. Nogle foruddefinerede metoder er length(), er lig med(), compareTo(), sqrt(), osv. Når vi kalder en af ​​de foruddefinerede metoder i vores program, kører en række koder relateret til den tilsvarende metode i baggrunden, som allerede er gemt i biblioteket.

Hver eneste foruddefinerede metode er defineret inde i en klasse. Såsom Print() metode er defineret i java.io.PrintStream klasse. Det udskriver det udsagn, som vi skriver inde i metoden. For eksempel, print('Java') , udskriver den Java på konsollen.

Lad os se et eksempel på den foruddefinerede metode.

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)); } } 

Produktion:

 The maximum number is: 9 

I ovenstående eksempel har vi brugt tre foruddefinerede metoder main(), print(), og max() . Vi har brugt disse metoder direkte uden erklæring, fordi de er foruddefinerede. Print() metoden er en metode til PrintStream klasse, der udskriver resultatet på konsollen. max() metoden er en metode til Matematik klasse, der returnerer det største af to tal.

Vi kan også se metodesignaturen for enhver foruddefineret metode ved at bruge linket https://docs.oracle.com/ . Når vi går gennem linket og ser max() metodesignaturen, finder vi følgende:

Metode i Java

I ovenstående metodesignatur ser vi, at metodesignaturen har adgangsspecifikation offentlig , modifikator uden adgang statisk , returtype int , metodenavn max(), parameterliste (int a, int b). I ovenstående eksempel, i stedet for at definere metoden, har vi netop påberåbt metoden. Dette er fordelen ved en foruddefineret metode. Det gør programmering mindre kompliceret.

På samme måde kan vi også se metodesignaturen for print()-metoden.

Brugerdefineret metode

Metoden skrevet af brugeren eller programmøren er kendt som en brugerdefineret metode. Disse metoder er modificeret i henhold til kravet.

Sådan opretter du en brugerdefineret metode

Lad os oprette en brugerdefineret metode, der kontrollerer, at tallet er lige eller ulige. Først vil vi definere metoden.

 //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'); } 

Vi har defineret metoden ovenfor ved navn findevenodd(). Den har en parameter på en af typen int. Metoden returnerer ingen værdi, derfor har vi brugt void. Metodens brødtekst indeholder trinene til at kontrollere, om tallet er lige eller ulige. Hvis tallet er lige, udskrives tallet er lige , ellers udskriver nummeret er mærkeligt .

Sådan kaldes eller påberåbes en brugerdefineret metode

Når vi har defineret en metode, skal den kaldes. Kaldningen af ​​en metode i et program er enkel. Når vi kalder eller påberåber en brugerdefineret metode, overføres programstyringen til den kaldte metode.

 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); } 

I ovenstående kodestykke, så snart compileren når til linjen findLigeUlige(tal), kontroloverførslen til metoden og giver output i overensstemmelse hermed.

Lad os kombinere begge kodestykker i et enkelt program og udføre det.

EvenOdd.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'); } } 

Output 1:

 Enter the number: 12 12 is even 

Output 2:

 Enter the number: 99 99 is odd 

Lad os se et andet program, der returnerer en værdi til den kaldende metode.

I det følgende program har vi defineret en metode ved navn tilføje() der opsummerer de to tal. Den har to parametre n1 og n2 af heltalstypen. Værdierne af n1 og n2 svarer til værdien af ​​henholdsvis a og b. Derfor tilføjer metoden værdien af ​​a og b og gemmer den i variablen s og returnerer summen.

Tilføjelse.java

java kort
 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 } } 

Produktion:

 The sum of a and b is= 24 

Statisk metode

En metode, der har statisk nøgleord, er kendt som statisk metode. Med andre ord er en metode, der tilhører en klasse snarere end en forekomst af en klasse, kendt som en statisk metode. Vi kan også lave en statisk metode ved at bruge søgeordet statisk før metodenavnet.

Den største fordel ved en statisk metode er, at vi kan kalde den uden at skabe et objekt. Det kan få adgang til statiske datamedlemmer og også ændre værdien af ​​det. Det bruges til at oprette en instansmetode. Det påkaldes ved at bruge klassenavnet. Det bedste eksempel på en statisk metode er hoved() metode.

Eksempel på statisk metode

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.'); } } 

Produktion:

gennemstreget markdown
 It is an example of a static method. 

Forekomstmetode

Klassens metode er kendt som en instans metode . Det er en ikke-statisk metode defineret i klassen. Før du kalder eller kalder instansmetoden, er det nødvendigt at oprette et objekt af dens klasse. Lad os se et eksempel på en instansmetode.

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; } } 

Produktion:

 The sum is: 25 

Der er to typer instansmetoder:

    Accessor metode Mutator metode

Tilbehørsmetode: Metoden/metoderne, der læser instansvariablen/-erne, er kendt som accessor-metoden. Vi kan nemt identificere det, fordi metoden er foranstillet med ordet . Det er også kendt som getters . Det returnerer værdien af ​​det private felt. Det bruges til at få værdien af ​​det private felt.

Eksempel

 public int getId() { return Id; } 

Mutatormetode: Metoden/metoderne læser instansvariablen/-erne og ændrer også værdierne. Vi kan nemt identificere det, fordi metoden er foranstillet med ordet sæt . Det er også kendt som sættere eller modifikatorer . Det returnerer ikke noget. Den accepterer en parameter af samme datatype, der afhænger af feltet. Det bruges til at indstille værdien af ​​det private felt.

Eksempel

 public void setRoll(int roll) { this.roll = roll; } 

Eksempel på accessor- og mutatormetode

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); } } 

Abstrakt metode

Metoden, der ikke har metodelegeme, er kendt som abstrakt metode. Med andre ord, uden en implementering er kendt som abstrakt metode. Det erklærer altid i abstrakt klasse . Det betyder, at klassen selv skal være abstrakt, hvis den har en abstrakt metode. For at skabe en abstrakt metode bruger vi søgeordet abstrakt .

Syntaks

 abstract void method_name(); 

Eksempel på abstrakt metode

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(); } } 

Produktion:

 Abstract method... 

Fabriksmetode

Det er en metode, der returnerer et objekt til den klasse, det tilhører. Alle statiske metoder er fabriksmetoder. For eksempel, NumberFormat obj = NumberFormat.getNumberInstance();