logo

Metoda în Java

În general, a metodă este o modalitate de a îndeplini o anumită sarcină. În mod similar, cel metoda în Java este o colecție de instrucțiuni care îndeplinește o anumită sarcină. Oferă reutilizarea codului. De asemenea, putem modifica cu ușurință codul folosind metode . În această secțiune, vom învăța ce este o metodă în Java, tipuri de metode, declarație de metodă, și cum se apelează o metodă în Java .

Ce este o metodă în Java?

A metodă este un bloc de cod sau o colecție de instrucțiuni sau un set de cod grupat împreună pentru a îndeplini o anumită sarcină sau operație. Este folosit pentru a atinge reutilizabilitate de cod. Scriem o metodă o dată și o folosim de mai multe ori. Nu avem nevoie să scriem cod din nou și din nou. De asemenea, oferă modificare usoara și lizibilitatea de cod, doar prin adăugarea sau eliminarea unei porțiuni de cod. Metoda este executată numai atunci când o apelăm sau o invocăm.

Cea mai importantă metodă din Java este principal() metodă. Dacă doriți să citiți mai multe despre metoda main(), accesați linkul https://www.javatpoint.com/java-main-method .

Declarație de metodă

Declarația metodei oferă informații despre atributele metodei, cum ar fi vizibilitatea, tipul de returnare, numele și argumentele. Are șase componente care sunt cunoscute ca antetul metodei , așa cum am arătat în figura următoare.

Metoda în Java

Semnătura metodei: Fiecare metodă are o semnătură de metodă. Este o parte a declarației metodei. Acesta include numele metodei și lista de parametri .

Specificator de acces: Specificatorul sau modificatorul de acces este tipul de acces al metodei. Specifică vizibilitatea metodei. Java oferă patru Tipuri de specificator de acces:

    Public:Metoda este accesibilă pentru toate clasele atunci când folosim public specifier în aplicația noastră.Privat:Când folosim un specificator de acces privat, metoda este accesibilă numai în clasele în care este definită.Protejat:Când folosim specificatorul de acces protejat, metoda este accesibilă în cadrul aceluiași pachet sau subclase dintr-un pachet diferit.Mod implicit:Când nu folosim niciun specificator de acces în declarația metodei, Java utilizează implicit specificatorul de acces implicit. Este vizibil doar din același pachet.

Tip returnare: Tipul returnat este un tip de date pe care metoda îl returnează. Poate avea un tip de date primitive, obiect, colecție, void etc. Dacă metoda nu returnează nimic, folosim cuvântul cheie void.

selectați SQL din mai multe tabele

Numele metodei: Este un nume unic care este folosit pentru a defini numele unei metode. Trebuie să corespundă funcționalității metodei. Să presupunem că, dacă creăm o metodă de scădere a două numere, numele metodei trebuie să fie scădere(). O metodă este invocată prin numele ei.

Lista parametrilor: Este lista de parametri separați prin virgulă și încadrați în perechea de paranteze. Conține tipul de date și numele variabilei. Dacă metoda nu are parametru, lăsați parantezele goale.

Corpul metodei: Este o parte a declarației metodei. Conține toate acțiunile care trebuie efectuate. Este inclus în perechea de bretele.

Numirea unei metode

Când definiți o metodă, amintiți-vă că numele metodei trebuie să fie a verb și începe cu a litere mici scrisoare. Dacă numele metodei are mai mult de două cuvinte, prenumele trebuie să fie un verb urmat de adjectiv sau substantiv. În numele metodei cu mai multe cuvinte, prima literă a fiecărui cuvânt trebuie să fie în majuscule cu excepția primului cuvânt. De exemplu:

Numele metodei cu un singur cuvânt: suma(), suprafata()

Numele metodei cu mai multe cuvinte: areaOfCircle(), stringComparision()

De asemenea, este posibil ca o metodă să aibă același nume cu un alt nume de metodă din aceeași clasă, este cunoscută ca supraîncărcarea metodei .

Tipuri de Metodă

Există două tipuri de metode în Java:

  • Metodă predefinită
  • Metodă definită de utilizator

Metodă predefinită

În Java, metodele predefinite sunt metoda care este deja definită în bibliotecile de clase Java și este cunoscută ca metode predefinite. Este cunoscut și sub numele de metoda bibliotecii standard sau metoda încorporată . Putem folosi direct aceste metode doar apelându-le în program în orice moment. Unele metode predefinite sunt lungime(), equals(), comparăTo(), sqrt(), etc. Când apelăm la oricare dintre metodele predefinite din programul nostru, o serie de coduri legate de metoda corespunzătoare rulează în fundal care este deja stocată în bibliotecă.

Fiecare metodă predefinită este definită în interiorul unei clase. Ca imprimare() metoda este definită în java.io.PrintStream clasă. Tipărește declarația pe care o scriem în interiorul metodei. De exemplu, print('Java') , imprimă Java pe consolă.

Să vedem un exemplu de metodă 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)); } } 

Ieșire:

 The maximum number is: 9 

În exemplul de mai sus, am folosit trei metode predefinite main(), print(), și max() . Am folosit aceste metode direct fără declarație deoarece sunt predefinite. Metoda print() este o metodă de PrintStream clasa care tipărește rezultatul pe consolă. Metoda max() este o metodă a Matematică clasa care returnează cel mai mare dintre două numere.

De asemenea, putem vedea semnătura metodei oricărei metode predefinite utilizând link-ul https://docs.oracle.com/ . Când trecem prin link și vedem semnătura metodei max(), găsim următoarele:

Metoda în Java

În semnătura metodei de mai sus, vedem că semnătura metodei are un specificator de acces public , modificator fără acces static , tip de returnare int , numele metodei max(), lista de parametri (int a, int b). În exemplul de mai sus, în loc să definim metoda, tocmai am invocat metoda. Acesta este avantajul unei metode predefinite. Face programarea mai puțin complicată.

În mod similar, putem vedea și semnătura metodei prin metoda print().

Metodă definită de utilizator

Metoda scrisă de utilizator sau programator este cunoscută ca un definit de utilizator metodă. Aceste metode sunt modificate conform cerințelor.

Cum se creează o metodă definită de utilizator

Să creăm o metodă definită de utilizator care verifică dacă numărul este par sau impar. În primul rând, vom defini metoda.

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

Am definit metoda de mai sus numită findevenodd(). Are un parametru pe unu de tip int. Metoda nu returnează nicio valoare, de aceea am folosit void. Corpul metodei conține pașii pentru a verifica dacă numărul este par sau impar. Dacă numărul este par, se tipărește numărul este chiar , altfel imprimă numărul este ciudat .

Cum să apelați sau să invocați o metodă definită de utilizator

Odată ce am definit o metodă, ar trebui apelată. Apelarea unei metode într-un program este simplă. Când apelăm sau invocăm o metodă definită de utilizator, controlul programului se transferă la metoda apelată.

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

În fragmentul de cod de mai sus, de îndată ce compilatorul ajunge la linie găsiEvenOdd(num), transferul controlului către metodă și dă rezultatul corespunzător.

Să combinăm ambele fragmente de cod într-un singur program și să-l executăm.

EvenOdd.java

metoda tostring în 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'); } } 

Ieșire 1:

 Enter the number: 12 12 is even 

Ieșire 2:

 Enter the number: 99 99 is odd 

Să vedem un alt program care returnează o valoare metodei de apelare.

În programul următor, am definit o metodă numită adăuga() care însumează cele două numere. Are doi parametri n1 și n2 de tip întreg. Valorile lui n1 și n2 corespund valorii lui a și, respectiv, b. Prin urmare, metoda adaugă valoarea lui a și b și o stochează în variabila s și returnează suma.

Adăugare.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 } } 

Ieșire:

 The sum of a and b is= 24 

Metoda statică

O metodă care are cuvânt cheie static este cunoscută ca metodă statică. Cu alte cuvinte, o metodă care aparține unei clase mai degrabă decât unei instanțe a unei clase este cunoscută ca metodă statică. De asemenea, putem crea o metodă statică folosind cuvântul cheie static înainte de numele metodei.

Principalul avantaj al unei metode statice este că o putem apela fără a crea un obiect. Poate accesa membrii datelor statice și, de asemenea, poate modifica valoarea acestora. Este folosit pentru a crea o metodă de instanță. Este invocat folosind numele clasei. Cel mai bun exemplu de metodă statică este principal() metodă.

Exemplu de metodă statică

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

Ieșire:

șir în format java
 It is an example of a static method. 

Metoda de instanță

Metoda clasei este cunoscută ca an metoda instanței . Este un nestatic metoda definita in clasa. Înainte de a apela sau invoca metoda instanței, este necesar să creați un obiect din clasa sa. Să vedem un exemplu de metodă de instanță.

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

Ieșire:

 The sum is: 25 

Există două tipuri de metode de instanță:

    Metoda Accesorului Metoda mutatorului

Metoda accesorii: Metoda(ele) care citește variabilele de instanță este cunoscută ca metoda accesoriilor. Îl putem identifica cu ușurință deoarece metoda este prefixată cu cuvântul obține . Este cunoscut și ca getters . Returnează valoarea câmpului privat. Este folosit pentru a obține valoarea câmpului privat.

Exemplu

 public int getId() { return Id; } 

Metoda mutatorului: Metoda(ele) citesc variabilele de instanță și modifică, de asemenea, valorile. Îl putem identifica cu ușurință deoarece metoda este prefixată cu cuvântul a stabilit . Este cunoscut și ca setters sau modificatori . Nu returneaza nimic. Acceptă un parametru de același tip de date care depinde de câmp. Este folosit pentru a seta valoarea câmpului privat.

Exemplu

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

Exemplu de metoda accesoriilor și mutatorului

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

Metoda abstractă

Metoda care nu are corp de metodă este cunoscută ca metodă abstractă. Cu alte cuvinte, fără o implementare este cunoscută ca metodă abstractă. Se declară întotdeauna în clasa abstractă . Înseamnă că clasa în sine trebuie să fie abstractă dacă are o metodă abstractă. Pentru a crea o metodă abstractă, folosim cuvântul cheie abstract .

Sintaxă

 abstract void method_name(); 

Exemplu de metodă abstractă

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

Ieșire:

 Abstract method... 

Metoda fabricii

Este o metodă care returnează un obiect clasei căreia îi aparține. Toate metodele statice sunt metode din fabrică. De exemplu, NumberFormat obj = NumberFormat.getNumberInstance();