logo

Mètode en Java

En general, a mètode és una manera de realitzar alguna tasca. De la mateixa manera, el mètode en Java és una col·lecció d'instruccions que realitza una tasca específica. Proporciona la reutilització del codi. També podem modificar fàcilment el codi mitjançant mètodes . En aquest apartat aprendrem què és un mètode a Java, tipus de mètodes, declaració de mètodes, i com cridar un mètode en Java .

Què és un mètode a Java?

A mètode és un bloc de codi o col·lecció d'instruccions o un conjunt de codis agrupats per dur a terme una tasca o operació determinada. S'utilitza per aconseguir el reutilitzabilitat de codi. Escrivim un mètode una vegada i l'utilitzem moltes vegades. No necessitem escriure codi una i altra vegada. També proporciona el modificació fàcil i llegibilitat de codi, només afegint o eliminant un tros de codi. El mètode només s'executa quan el cridem o l'invoquem.

El mètode més important de Java és el principal () mètode. Si voleu llegir més sobre el mètode main(), aneu a l'enllaç https://www.javatpoint.com/java-main-method .

Declaració del mètode

La declaració del mètode proporciona informació sobre els atributs del mètode, com ara la visibilitat, el tipus de retorn, el nom i els arguments. Té sis components que es coneixen com capçalera del mètode , com hem mostrat a la figura següent.

Mètode en Java

Signatura del mètode: Cada mètode té una signatura de mètode. És una part de la declaració del mètode. Inclou el nom del mètode i llista de paràmetres .

Especificador d'accés: L'especificador o modificador d'accés és el tipus d'accés del mètode. Especifica la visibilitat del mètode. Java proporciona quatre especificador de tipus d'accés:

    Públic:El mètode és accessible per totes les classes quan utilitzem l'especificador públic a la nostra aplicació.Privat:Quan utilitzem un especificador d'accés privat, el mètode només és accessible a les classes en què està definit.Protegit:Quan utilitzem l'especificador d'accés protegit, el mètode és accessible dins del mateix paquet o subclasses en un paquet diferent.Per defecte:Quan no utilitzem cap especificador d'accés a la declaració del mètode, Java utilitza l'especificador d'accés predeterminat de manera predeterminada. Només és visible des del mateix paquet.

Tipus de retorn: El tipus de retorn és un tipus de dades que retorna el mètode. Pot tenir un tipus de dades primitiu, objecte, col·lecció, void, etc. Si el mètode no retorna res, utilitzem la paraula clau void.

java llarg a int

Nom del mètode: És un nom únic que s'utilitza per definir el nom d'un mètode. Ha de correspondre a la funcionalitat del mètode. Suposem que, si estem creant un mètode per a la resta de dos nombres, el nom del mètode ha de ser resta (). Un mètode s'invoca pel seu nom.

Llista de paràmetres: És la llista de paràmetres separats per una coma i tancats entre parèntesis. Conté el tipus de dades i el nom de la variable. Si el mètode no té cap paràmetre, deixeu els parèntesis en blanc.

Cos del mètode: És una part de la declaració del mètode. Conté totes les accions a realitzar. Està tancat dins del parell de tirants.

Anomenament d'un mètode

Quan definiu un mètode, recordeu que el nom del mètode ha de ser a verb i comença amb a minúscula carta. Si el nom del mètode té més de dues paraules, el primer nom ha de ser un verb seguit d'un adjectiu o un substantiu. Al nom del mètode de diverses paraules, la primera lletra de cada paraula ha d'estar en majúscula excepte la primera paraula. Per exemple:

Nom del mètode d'una sola paraula: suma(), àrea()

Nom del mètode de diverses paraules: areaOfCircle(), stringComparition()

També és possible que un mètode tingui el mateix nom que un altre nom de mètode de la mateixa classe, es coneix com sobrecàrrega del mètode .

Tipus de mètode

Hi ha dos tipus de mètodes a Java:

  • Mètode predefinit
  • Mètode definit per l'usuari

Mètode predefinit

A Java, els mètodes predefinits són el mètode que ja està definit a les biblioteques de classes de Java es coneix com a mètodes predefinits. També es coneix com el mètode de biblioteca estàndard o mètode incorporat . Podem utilitzar directament aquests mètodes només cridant-los al programa en qualsevol moment. Alguns mètodes predefinits són longitud (), igual a (), compara a (), sqrt (), etc. Quan cridem a qualsevol dels mètodes predefinits al nostre programa, una sèrie de codis relacionats amb el mètode corresponent s'executa en segon pla que ja està emmagatzemat a la biblioteca.

Tots i cadascun dels mètodes predefinits es defineixen dins d'una classe. Tal com imprimir() mètode es defineix a java.io.PrintStream classe. Imprimeix la declaració que escrivim dins del mètode. Per exemple, imprimir('Java') , imprimeix Java a la consola.

Vegem un exemple del mètode predefinit.

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

Sortida:

 The maximum number is: 9 

En l'exemple anterior, hem utilitzat tres mètodes predefinits principal(), imprimir(), i màxim () . Hem utilitzat aquests mètodes directament sense declaració perquè estan predefinits. El mètode print() és un mètode de PrintStream classe que imprimeix el resultat a la consola. El mètode max() és un mètode del Matemàtiques classe que retorna el major de dos nombres.

També podem veure la signatura del mètode de qualsevol mètode predefinit mitjançant l'enllaç https://docs.oracle.com/ . Quan passem per l'enllaç i veiem la signatura del mètode max(), trobem el següent:

Mètode en Java

A la signatura del mètode anterior, veiem que la signatura del mètode té un especificador d'accés públic , modificador sense accés estàtica , tipus de retorn int , nom del mètode màxim(), llista de paràmetres (int a, int b). A l'exemple anterior, en lloc de definir el mètode, acabem d'invocar el mètode. Aquest és l'avantatge d'un mètode predefinit. Fa que la programació sigui menys complicada.

De la mateixa manera, també podem veure la signatura del mètode del mètode print().

java amb swing

Mètode definit per l'usuari

El mètode escrit per l'usuari o programador es coneix com un definit per l'usuari mètode. Aquests mètodes es modifiquen segons el requisit.

Com crear un mètode definit per l'usuari

Creem un mètode definit per l'usuari que comprove que el nombre és parell o senar. En primer lloc, definirem el mètode.

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

Hem definit el mètode anterior anomenat findevenodd(). Té un paràmetre en una de tipus int. El mètode no retorna cap valor, per això hem utilitzat void. El cos del mètode conté els passos per comprovar que el nombre és parell o senar. Si el nombre és parell, imprimeix el número és parell , en cas contrari imprimeix el número és estrany .

Com trucar o invocar un mètode definit per l'usuari

Un cop hem definit un mètode, s'hauria de cridar. La crida d'un mètode en un programa és senzilla. Quan cridem o invoquem un mètode definit per l'usuari, el control del programa es transfereix al mètode anomenat.

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

En el fragment de codi anterior, tan bon punt el compilador arriba a la línia trobarEvenOdd(núm), la transferència de control al mètode i dóna la sortida en conseqüència.

Combinem els dos fragments de codi en un sol programa i executem-lo.

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

Sortida 1:

 Enter the number: 12 12 is even 

Sortida 2:

 Enter the number: 99 99 is odd 

Vegem un altre programa que retorna un valor al mètode de crida.

En el programa següent, hem definit un mètode anomenat afegir() que sumen els dos nombres. Té dos paràmetres n1 i n2 de tipus enter. Els valors de n1 i n2 corresponen al valor de a i b, respectivament. Per tant, el mètode afegeix el valor de a i b i l'emmagatzema a la variable s i retorna la suma.

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

Sortida:

 The sum of a and b is= 24 

Mètode estàtic

Un mètode que té una paraula clau estàtica es coneix com a mètode estàtic. En altres paraules, un mètode que pertany a una classe en lloc d'una instància d'una classe es coneix com a mètode estàtic. També podem crear un mètode estàtic mitjançant la paraula clau estàtica abans del nom del mètode.

El principal avantatge d'un mètode estàtic és que podem cridar-lo sense crear un objecte. Pot accedir als membres de dades estàtiques i també canviar-ne el valor. S'utilitza per crear un mètode d'instància. S'invoca utilitzant el nom de la classe. El millor exemple de mètode estàtic és el principal () mètode.

Exemple de mètode estàtic

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

Sortida:

cadena de format java
 It is an example of a static method. 

Mètode d'instància

El mètode de la classe es coneix com a mètode d'instància . És un no estàtica mètode definit a la classe. Abans de cridar o invocar el mètode instància, cal crear un objecte de la seva classe. Vegem un exemple d'un mètode d'instància.

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

Sortida:

 The sum is: 25 

Hi ha dos tipus de mètodes d'instància:

    Mètode Accessor Mètode mutador

Mètode d'accessori: Els mètodes que llegeixen les variables d'instància es coneixen com a mètode d'accés. El podem identificar fàcilment perquè el mètode va prefixat amb la paraula aconseguir . També es coneix com getters . Retorna el valor del camp privat. S'utilitza per obtenir el valor del camp privat.

Exemple

 public int getId() { return Id; } 

Mètode mutador: Els mètodes llegeixen les variables d'instància i també modifiquen els valors. El podem identificar fàcilment perquè el mètode va prefixat amb la paraula conjunt . També es coneix com posadors o modificadors . No retorna res. Accepta un paràmetre del mateix tipus de dades que depèn del camp. S'utilitza per establir el valor del camp privat.

Exemple

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

Exemple de mètode d'accés i mutador

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

Mètode abstracte

El mètode que no té cos del mètode es coneix com a mètode abstracte. En altres paraules, sense implementació es coneix com a mètode abstracte. Sempre es declara en el classe abstracta . Significa que la mateixa classe ha de ser abstracta si té un mètode abstracte. Per crear un mètode abstracte, utilitzem la paraula clau abstracte .

Sintaxi

 abstract void method_name(); 

Exemple de mètode abstracte

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

Sortida:

 Abstract method... 

Mètode de fàbrica

És un mètode que retorna un objecte a la classe a la qual pertany. Tots els mètodes estàtics són mètodes de fàbrica. Per exemple, NumberFormat obj = NumberFormat.getNumberInstance();