logo

Metod i Java

I allmänhet, a metod är ett sätt att utföra en uppgift. På samma sätt metod i Java är en samling instruktioner som utför en specifik uppgift. Det ger återanvändbarhet av kod. Vi kan också enkelt ändra koden med hjälp av metoder . I det här avsnittet kommer vi att lära oss vad är en metod i Java, typer av metoder, metoddeklaration, och hur man anropar en metod i Java .

Vad är en metod i Java?

A metod är ett kodblock eller en samling av satser eller en uppsättning kod grupperade för att utföra en viss uppgift eller operation. Det används för att uppnå återanvändbarhet av kod. Vi skriver en metod en gång och använder den många gånger. Vi behöver inte skriva kod om och om igen. Det ger också enkel modifiering och läsbarhet kod, bara genom att lägga till eller ta bort en bit kod. Metoden exekveras endast när vi anropar eller anropar den.

Den viktigaste metoden i Java är main() metod. Om du vill läsa mer om metoden main() går du igenom länken https://www.javatpoint.com/java-main-method .

Metoddeklaration

Metoddeklarationen ger information om metodattribut, såsom synlighet, returtyp, namn och argument. Den har sex komponenter som kallas metodhuvud , som vi har visat i följande figur.

Metod i Java

Metodsignatur: Varje metod har en metodsignatur. Det är en del av metoddeklarationen. Det inkluderar metodnamn och parameterlista .

Åtkomstspecifikation: Åtkomstspecificerare eller modifierare är åtkomsttypen för metoden. Den anger metodens synlighet. Java ger fyra typer av åtkomstspecifikation:

    Offentlig:Metoden är tillgänglig för alla klasser när vi använder public specifier i vår applikation.Privat:När vi använder en specificator för privat åtkomst är metoden endast tillgänglig i de klasser där den är definierad.Skyddad:När vi använder specifikationen för skyddad åtkomst är metoden tillgänglig inom samma paket eller underklasser i ett annat paket.Standard:När vi inte använder någon åtkomstspecifikator i metoddeklarationen, använder Java standardåtkomstspecifikator som standard. Det är endast synligt från samma paket.

Returtyp: Returtyp är en datatyp som metoden returnerar. Den kan ha en primitiv datatyp, objekt, samling, void, etc. Om metoden inte returnerar något använder vi void nyckelord.

insättningssort i java

Metodnamn: Det är ett unikt namn som används för att definiera namnet på en metod. Det måste överensstämma med metodens funktionalitet. Antag att om vi skapar en metod för subtraktion av två tal måste metodnamnet vara subtraktion(). En metod anropas av sitt namn.

Parameterlista: Det är listan över parametrar separerade med kommatecken och omslutna av parentes. Den innehåller datatypen och variabelnamnet. Om metoden inte har någon parameter lämnar du parentesen tom.

Metodtext: Det är en del av metoddeklarationen. Den innehåller alla åtgärder som ska utföras. Den är innesluten i paret med lockiga hängslen.

Namnge en metod

När du definierar en metod, kom ihåg att metodnamnet måste vara a verb och börja med a små bokstäver brev. Om metodnamnet har fler än två ord måste förnamnet vara ett verb följt av adjektiv eller substantiv. I flerordsmetodnamnet måste den första bokstaven i varje ord finnas i versal förutom det första ordet. Till exempel:

Metodnamn med ett ord: summa(), area()

Metodnamn för flera ord: areaOfCircle(), stringComparision()

Det är också möjligt att en metod har samma namn som ett annat metodnamn i samma klass, det är känt som metodöverbelastning .

Typer av metoder

Det finns två typer av metoder i Java:

  • Fördefinierad metod
  • Användardefinierad metod

Fördefinierad metod

I Java är fördefinierade metoder den metod som redan är definierad i Java-klassbiblioteken som kallas fördefinierade metoder. Det är också känt som standard biblioteksmetod eller inbyggd metod . Vi kan direkt använda dessa metoder bara genom att anropa dem i programmet när som helst. Vissa fördefinierade metoder är length(), lika med(), compareTo(), sqrt(), etc. När vi anropar någon av de fördefinierade metoderna i vårt program, körs en serie koder relaterade till motsvarande metod i bakgrunden som redan är lagrad i biblioteket.

Varje fördefinierad metod är definierad i en klass. Till exempel skriva ut() metoden definieras i java.io.PrintStream klass. Den skriver ut påståendet som vi skriver inuti metoden. Till exempel, print('Java') , den skriver ut Java på konsolen.

Låt oss se ett exempel på den fördefinierade 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)); } } 

Produktion:

 The maximum number is: 9 

I exemplet ovan har vi använt tre fördefinierade metoder main(), print(), och max() . Vi har använt dessa metoder direkt utan deklaration eftersom de är fördefinierade. Metoden print() är en metod för PrintStream klass som skriver ut resultatet på konsolen. Metoden max() är en metod för Matematik klass som returnerar det största av två tal.

Vi kan också se metodsignaturen för valfri fördefinierad metod genom att använda länken https://docs.oracle.com/ . När vi går igenom länken och ser max()-metodens signatur hittar vi följande:

Metod i Java

I ovanstående metodsignatur ser vi att metodsignaturen har åtkomstspecificator offentlig , icke-åtkomstmodifierare statisk , returtyp int , metodnamn max(), parameterlista (int a, int b). I exemplet ovan, istället för att definiera metoden, har vi precis anropat metoden. Detta är fördelen med en fördefinierad metod. Det gör programmeringen mindre komplicerad.

På samma sätt kan vi också se metodsignaturen för metoden print().

Användardefinierad metod

Metoden som skrivits av användaren eller programmeraren är känd som en användardefinierad metod. Dessa metoder modifieras enligt kraven.

Hur man skapar en användardefinierad metod

Låt oss skapa en användardefinierad metod som kontrollerar att numret är jämnt eller udda. Först kommer vi att definiera 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 definierat ovanstående metod med namnet findevenodd(). Den har en parameter på ett av typ int. Metoden returnerar inget värde, det är därför vi har använt void. Metodens brödtext innehåller stegen för att kontrollera att numret är jämnt eller udda. Om numret är jämnt skrivs numret ut är jämnt , annars skriver ut numret är udda .

Hur man ringer eller anropar en användardefinierad metod

När vi väl har definierat en metod ska den kallas. Anropet av en metod i ett program är enkelt. När vi anropar eller anropar en användardefinierad metod överförs programkontrollen till den anropade 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 ovanstående kodavsnitt, så snart kompilatorn når raden hittaJämnOdd(tal), styrningen överförs till metoden och ger resultatet i enlighet därmed.

Låt oss kombinera båda kodavsnitten i ett enda program och köra det.

strängformat

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

Utgång 1:

 Enter the number: 12 12 is even 

Utgång 2:

 Enter the number: 99 99 is odd 

Låt oss se ett annat program som returnerar ett värde till anropsmetoden.

I följande program har vi definierat en metod som heter Lägg till() som summerar de två siffrorna. Den har två parametrar n1 och n2 av heltalstyp. Värdena på n1 och n2 motsvarar värdet på a respektive b. Därför adderar metoden värdet av a och b och lagrar det i variabeln s och returnerar summan.

Addition.java

 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 metod

En metod som har statiskt nyckelord kallas statisk metod. Med andra ord är en metod som tillhör en klass snarare än en instans av en klass känd som en statisk metod. Vi kan också skapa en statisk metod genom att använda nyckelordet statisk före metodnamnet.

Den största fördelen med en statisk metod är att vi kan kalla den utan att skapa ett objekt. Den kan komma åt statiska datamedlemmar och även ändra värdet på den. Den används för att skapa en instansmetod. Den anropas genom att använda klassnamnet. Det bästa exemplet på en statisk metod är main() metod.

Exempel på statisk metod

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:

np betyder
 It is an example of a static method. 

Instansmetod

Klassens metod är känd som en instansmetoden . Det är en icke-statisk metod definierad i klassen. Innan du anropar eller anropar instansmetoden är det nödvändigt att skapa ett objekt av dess klass. Låt oss se ett exempel på en instansmetod.

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 

Det finns två typer av instansmetoder:

    Tillbehörsmetod Mutatormetod

Tillbehörsmetod: Metoden/metoderna som läser instansvariablerna är känd som accessormetoden. Vi kan lätt identifiera det eftersom metoden har ordet prefix skaffa sig . Det är också känt som getters . Det returnerar värdet för det privata fältet. Det används för att få värdet av det privata fältet.

Exempel

 public int getId() { return Id; } 

Mutatormetod: Metoden/metoderna läser instansvariablerna och ändrar även värdena. Vi kan lätt identifiera det eftersom metoden har ordet prefix uppsättning . Det är också känt som sättare eller modifierare . Det ger inget tillbaka. Den accepterar en parameter av samma datatyp som beror på fältet. Den används för att ställa in värdet på det privata fältet.

Exempel

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

Exempel på accessor och mutatormetod

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 metod

Metoden som inte har metodkropp kallas abstrakt metod. Med andra ord, utan en implementering kallas abstrakt metod. Det deklarerar alltid i abstrakt klass . Det betyder att klassen själv måste vara abstrakt om den har en abstrakt metod. För att skapa en abstrakt metod använder vi nyckelordet abstrakt .

Syntax

 abstract void method_name(); 

Exempel på abstrakt metod

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... 

Fabriksmetod

Det är en metod som returnerar ett objekt till den klass som det tillhör. Alla statiska metoder är fabriksmetoder. Till exempel, NumberFormat obj = NumberFormat.getNumberInstance();