Generelt, a metode er en måte å utføre en oppgave på. På samme måte metode i Java er en samling av instruksjoner som utfører en bestemt oppgave. Det gir gjenbrukbarhet av kode. Vi kan også enkelt endre kode ved hjelp av metoder . I denne delen vil vi lære hva er en metode i Java, typer metoder, metodeerklæring, og hvordan kalle en metode i Java .
Hva er en metode i Java?
EN metode er en kodeblokk eller samling av setninger eller et sett med kode gruppert sammen for å utføre en bestemt oppgave eller operasjon. Det brukes til å oppnå gjenbrukbarhet av kode. Vi skriver en metode én gang og bruker den mange ganger. Vi trenger ikke å skrive kode igjen og igjen. Det gir også enkel modifikasjon og lesbarhet kode, bare ved å legge til eller fjerne en kodebit. Metoden kjøres bare når vi kaller eller påkaller den.
Den viktigste metoden i Java er hoved() metode. Hvis du vil lese mer om main()-metoden, gå gjennom lenken https://www.javatpoint.com/java-main-method .
Metodeerklæring
Metodeerklæringen gir informasjon om metodeattributter, for eksempel synlighet, returtype, navn og argumenter. Den har seks komponenter som er kjent som metodeoverskrift , som vi har vist i følgende figur.
Metode signatur: Hver metode har en metodesignatur. Det er en del av metodeerklæringen. Det inkluderer metodenavn og parameterliste .
Tilgangsspesifikasjoner: Tilgangsspesifiserer eller modifikator er tilgangstypen til metoden. Den spesifiserer synligheten til metoden. Java gir fire typer tilgangsspesifikasjoner:
Returtype: Returtype er en datatype som metoden returnerer. Den kan ha en primitiv datatype, objekt, samling, void osv. Hvis metoden ikke returnerer noe, bruker vi void nøkkelord.
delstrengmetode i java
Metodenavn: Det er et unikt navn som brukes til å definere navnet på en metode. Det må samsvare med funksjonaliteten til metoden. Anta at hvis vi lager en metode for subtraksjon av to tall, må metodenavnet være subtraksjon(). En metode påkalles av navnet.
Parameterliste: Det er listen over parametere atskilt med komma og omsluttet av parantes. Den inneholder datatypen og variabelnavnet. Hvis metoden ikke har noen parameter, la parentesene stå tomme.
Metodetekst: Det er en del av metodeerklæringen. Den inneholder alle handlingene som skal utføres. Den er innelukket i paret med krøllete seler.
Navngi en metode
Når du definerer en metode, husk at metodenavnet må være en verb og start med a små bokstaver brev. Hvis metodenavnet har mer enn to ord, må fornavnet være et verb etterfulgt av adjektiv eller substantiv. I metodenavnet med flere ord må den første bokstaven i hvert ord være inne stor bokstav bortsett fra det første ordet. For eksempel:
Enkeltords metodenavn: sum(), areal()
Metodenavn med flere ord: areaOfCircle(), stringComparision()
Det er også mulig at en metode har samme navn som et annet metodenavn i samme klasse, det er kjent som metode overbelastning .
Metodetyper
Det er to typer metoder i Java:
- Forhåndsdefinert metode
- Brukerdefinert metode
Forhåndsdefinert metode
I Java er forhåndsdefinerte metoder metoden som allerede er definert i Java-klassebibliotekene, kjent som forhåndsdefinerte metoder. Det er også kjent som standard bibliotekmetode eller innebygd metode . Vi kan bruke disse metodene direkte ved å kalle dem i programmet når som helst. Noen forhåndsdefinerte metoder er length(), lik(), compareTo(), sqrt(), osv. Når vi kaller noen av de forhåndsdefinerte metodene i programmet vårt, kjører en rekke koder relatert til den tilsvarende metoden i bakgrunnen som allerede er lagret i biblioteket.
Hver eneste forhåndsdefinerte metode er definert i en klasse. Som for eksempel skrive ut() metoden er definert i java.io.PrintStream klasse. Den skriver ut påstanden som vi skriver inne i metoden. For eksempel, print('Java') , skriver den ut Java på konsollen.
La oss se et eksempel på den forhåndsdefinerte metoden.
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)); } }
Produksjon:
The maximum number is: 9
I eksemplet ovenfor har vi brukt tre forhåndsdefinerte metoder main(), print(), og maks() . Vi har brukt disse metodene direkte uten erklæring fordi de er forhåndsdefinerte. Print()-metoden er en metode for PrintStream klasse som skriver ut resultatet på konsollen. max()-metoden er en metode for Matte klasse som returnerer det største av to tall.
Vi kan også se metodesignaturen til enhver forhåndsdefinert metode ved å bruke lenken https://docs.oracle.com/ . Når vi går gjennom lenken og ser max()-metodesignaturen, finner vi følgende:
I metodesignaturen ovenfor ser vi at metodesignaturen har tilgangspesifikasjon offentlig , ikke-tilgangsmodifikator statisk , returtype int , metodenavn maks(), parameterliste (int a, int b). I eksemplet ovenfor, i stedet for å definere metoden, har vi nettopp påkalt metoden. Dette er fordelen med en forhåndsdefinert metode. Det gjør programmeringen mindre komplisert.
På samme måte kan vi også se metodesignaturen til print()-metoden.
Brukerdefinert metode
Metoden skrevet av brukeren eller programmereren er kjent som en brukerdefinert metode. Disse metodene er modifisert i henhold til kravet.
Hvordan lage en brukerdefinert metode
La oss lage en brukerdefinert metode som sjekker at tallet er partall eller oddetall. 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 definert metoden ovenfor kalt findevenodd(). Den har en parameter på en av type int. Metoden returnerer ingen verdi, det er derfor vi har brukt void. Metodeteksten inneholder trinnene for å kontrollere at tallet er partall eller oddetall. Hvis tallet er partall, skrives tallet ut er jevn , ellers skriver ut nummeret er rart .
Hvordan ringe eller påkalle en brukerdefinert metode
Når vi har definert en metode, skal den kalles. Det er enkelt å kalle en metode i et program. Når vi kaller eller påkaller en brukerdefinert metode, overføres programkontrollen til den kalte metoden.
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 kodebiten ovenfor, så snart kompilatoren når linjen finnEvenOdd(tall), kontrollen overføres til metoden og gir utgangen tilsvarende.
La oss kombinere begge kodebitene i ett enkelt program og kjø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'); } }
Utgang 1:
Enter the number: 12 12 is even
Utgang 2:
Enter the number: 99 99 is odd
La oss se et annet program som returnerer en verdi til kallemetoden.
I det følgende programmet har vi definert en metode kalt Legg til() som summerer de to tallene. Den har to parametere n1 og n2 av heltallstype. Verdiene til n1 og n2 tilsvarer verdien av henholdsvis a og b. Derfor legger metoden til verdien av a og b og lagrer den i variabelen s og returnerer summen.
Addisjon.java
pd sammenslåing
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 } }
Produksjon:
The sum of a and b is= 24
Statisk metode
En metode som har statisk nøkkelord er kjent som statisk metode. Med andre ord, en metode som tilhører en klasse i stedet for en forekomst av en klasse er kjent som en statisk metode. Vi kan også lage en statisk metode ved å bruke søkeordet statisk før metodenavnet.
Hovedfordelen med en statisk metode er at vi kan kalle den uten å lage et objekt. Den kan få tilgang til statiske datamedlemmer og også endre verdien på den. Den brukes til å lage en instansmetode. Det påkalles ved å bruke klassenavnet. Det beste eksemplet 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.'); } }
Produksjon:
Sridevi
It is an example of a static method.
Forekomstmetode
Metoden for klassen er kjent som en instansmetoden . Det er en ikke-statisk metode definert i klassen. Før du kaller eller påkaller instansmetoden, er det nødvendig å opprette et objekt av klassen. La oss 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; } }
Produksjon:
The sum is: 25
Det finnes to typer instansmetoder:
Tilbehørsmetode: Metoden(e) som leser forekomstvariabelen(e) er kjent som tilgangsmetoden. Vi kan lett identifisere det fordi metoden er prefikset med ordet få . Det er også kjent som getters . Den returnerer verdien av det private feltet. Det brukes til å få verdien av det private feltet.
Eksempel
public int getId() { return Id; }
Mutatormetode: Metoden(e) leser forekomstvariabelen(e) og endrer også verdiene. Vi kan lett identifisere det fordi metoden er prefikset med ordet sett . Det er også kjent som settere eller modifikatorer . Det gir ikke noe tilbake. Den godtar en parameter av samme datatype som avhenger av feltet. Den brukes til å angi verdien til det private feltet.
Eksempel
public void setRoll(int roll) { this.roll = roll; }
Eksempel på aksessør 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 som ikke har metodekropp er kjent som abstrakt metode. Med andre ord, uten implementering er kjent som abstrakt metode. Det erklærer alltid i abstrakt klasse . Det betyr at klassen i seg selv må være abstrakt hvis den har en abstrakt metode. For å lage en abstrakt metode bruker vi nøkkelordet 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(); } }
Produksjon:
Abstract method...
Fabrikkmetode
Det er en metode som returnerer et objekt til klassen det tilhører. Alle statiske metoder er fabrikkmetoder. For eksempel, NumberFormat obj = NumberFormat.getNumberInstance();