logo

Метод в Java

Като цяло, а метод е начин за изпълнение на някаква задача. По същия начин, на метод в Java е колекция от инструкции, която изпълнява конкретна задача. Осигурява повторно използване на кода. Също така можем лесно да модифицираме кода с помощта на методи . В този раздел ще научим какво е метод в Java, видове методи, декларация на метод, и как да извикате метод в Java .

Какво е метод в Java?

А метод е блок от код или колекция от изрази или набор от кодове, групирани заедно за изпълнение на определена задача или операция. Използва се за постигане на повторна употреба на код. Пишем метод веднъж и го използваме много пъти. Ние не изискваме да пишем код отново и отново. Той също така осигурява лесна модификация и четивност на код, просто чрез добавяне или премахване на част от кода. Методът се изпълнява само когато го извикаме или извикаме.

Най-важният метод в Java е основен () метод. Ако искате да прочетете повече за метода main(), преминете през връзката https://www.javatpoint.com/java-main-method .

Декларация на метода

Декларацията на метода предоставя информация за атрибутите на метода, като видимост, тип на връщане, име и аргументи. Той има шест компонента, които са известни като заглавка на метода , както сме показали на следващата фигура.

Метод в Java

Подпис на метода: Всеки метод има сигнатура на метода. Това е част от декларацията на метода. Тя включва име на метод и списък с параметри .

Спецификатор за достъп: Спецификаторът или модификаторът на достъп е типът достъп на метода. Той определя видимостта на метода. Java предоставя четири видове спецификатори за достъп:

    Обществен:Методът е достъпен от всички класове, когато използваме публичен спецификатор в нашето приложение.Частно:Когато използваме частен спецификатор за достъп, методът е достъпен само в класовете, в които е дефиниран.Защитено:Когато използваме защитен спецификатор за достъп, методът е достъпен в рамките на същия пакет или подкласове в различен пакет.По подразбиране:Когато не използваме спецификатор за достъп в декларацията на метода, Java използва спецификатор за достъп по подразбиране по подразбиране. Вижда се само от същия пакет.

Тип връщане: Върнатият тип е тип данни, които методът връща. Може да има примитивен тип данни, обект, колекция, void и т.н. Ако методът не връща нищо, използваме ключова дума void.

низ към дълъг

Име на метода: Това е уникално име, което се използва за определяне на името на метод. Тя трябва да отговаря на функционалността на метода. Да предположим, че ако създаваме метод за изваждане на две числа, името на метода трябва да бъде изваждане(). Методът се извиква от неговото име.

Списък с параметри: Това е списъкът с параметри, разделени със запетая и оградени в двойка скоби. Той съдържа типа данни и името на променливата. Ако методът няма параметър, оставете скобите празни.

Тяло на метода: Това е част от декларацията на метода. Той съдържа всички действия, които трябва да бъдат извършени. Той е ограден в чифт фигурни скоби.

Наименуване на метод

Докато дефинирате метод, не забравяйте, че името на метода трябва да бъде a глагол и започнете с a малка буква писмо. Ако името на метода има повече от две думи, първото име трябва да бъде глагол, последван от прилагателно или съществително. В името на многословния метод трябва да присъства първата буква на всяка дума Главна буква освен първата дума. Например:

Име на метода от една дума: сума(), площ()

Име на метода с няколко думи: areaOfCircle(), stringComparision()

Възможно е също методът да има същото име като име на друг метод в същия клас, известен като претоварване на метода .

Видове метод

В Java има два типа методи:

  • Предварително дефиниран метод
  • Дефиниран от потребителя метод

Предварително дефиниран метод

В Java предварително дефинираните методи са методът, който вече е дефиниран в библиотеките с класове на Java, известен като предварително дефинирани методи. Известен е още като стандартен библиотечен метод или вграден метод . Можем директно да използваме тези методи, просто като ги извикаме в програмата по всяко време. Някои предварително дефинирани методи са дължина (), равно (), сравнение с (), sqrt (), и т.н. Когато извикаме някой от предварително дефинираните методи в нашата програма, серия от кодове, свързани със съответния метод, се изпълнява във фонов режим, който вече е съхранен в библиотеката.

Всеки предварително дефиниран метод е дефиниран вътре в клас. Като печат () методът е дефиниран в java.io.PrintStream клас. Той отпечатва израза, който записваме вътре в метода. Например, печат ('Java') , той отпечатва Java на конзолата.

Нека да видим пример за предварително дефинирания метод.

Демо.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)); } } 

Изход:

 The maximum number is: 9 

В горния пример сме използвали три предварително дефинирани метода main(), print(), и макс () . Използвахме тези методи директно без декларация, защото те са предварително дефинирани. Методът print() е метод на PrintStream клас, който отпечатва резултата на конзолата. Методът max() е метод на математика клас, който връща по-голямото от две числа.

Можем също да видим сигнатурата на всеки предварително дефиниран метод, като използваме връзката https://docs.oracle.com/ . Когато преминем през връзката и видим подписа на метода max(), откриваме следното:

Метод в Java

В горния подпис на метода виждаме, че подписът на метода има спецификатор за достъп публичен , модификатор без достъп статичен , тип връщане вътр , име на метод max(), списък с параметри (int a, int b). В горния пример, вместо да дефинираме метода, ние просто го извикахме. Това е предимството на предварително дефинирания метод. Това прави програмирането по-малко сложно.

По същия начин можем да видим и сигнатурата на метода print().

Дефиниран от потребителя метод

Методът, написан от потребителя или програмиста, е известен като дефиниран от потребителя метод. Тези методи се модифицират според изискванията.

Как да създадете дефиниран от потребителя метод

Нека създадем дефиниран от потребителя метод, който проверява дали числото е четно или нечетно. Първо, ще дефинираме метода.

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

Дефинирахме горния метод с име findevenodd(). Има параметър никой от тип int. Методът не връща никаква стойност, затова използвахме void. Тялото на метода съдържа стъпките за проверка дали числото е четно или нечетно. Ако числото е четно, той отпечатва числото е дори , иначе отпечатва числото е странно .

Как да извикате или извикате дефиниран от потребителя метод

След като сме дефинирали метод, той трябва да бъде извикан. Извикването на метод в програма е просто. Когато извикаме или извикаме дефиниран от потребителя метод, управлението на програмата се прехвърля към извикания метод.

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

В горния кодов фрагмент, веднага щом компилаторът достигне до ред намериЧетноНечетно(брой), прехвърлянето на управление към метода и съответно дава изхода.

Нека комбинираме двата фрагмента от кодове в една програма и да я изпълним.

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

Резултат 1:

многоредов коментар на powershell
 Enter the number: 12 12 is even 

Резултат 2:

 Enter the number: 99 99 is odd 

Нека видим друга програма, която връща стойност на извикващия метод.

В следващата програма сме дефинирали метод с име добави () които сумират двете числа. Има два параметъра n1 и n2 от целочислен тип. Стойностите на n1 и n2 съответстват съответно на стойността на a и b. Следователно методът добавя стойността на a и b и я съхранява в променливата s и връща сумата.

Допълнение.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 } } 

Изход:

 The sum of a and b is= 24 

Статичен метод

Метод, който има ключова дума 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.'); } } 

Изход:

java localdate
 It is an example of a static method. 

Метод на екземпляра

Методът на класа е известен като an инстанционен метод . Това е нестатичен метод, дефиниран в класа. Преди да извикате или извикате метода на екземпляра, е необходимо да създадете обект от неговия клас. Нека видим пример за метод на инстанция.

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

Изход:

 The sum is: 25 

Има два вида метод на инстанция:

    Метод на достъпа Метод на мутатор

Метод на достъпа: Методът(ите), който чете променливата(ите) на екземпляра, е известен като метод за достъп. Можем лесно да го идентифицираме, тъй като методът има префикс с думата получавам . Известен е още като гетъри . Връща стойността на частното поле. Използва се за получаване на стойността на частното поле.

Пример

 public int getId() { return Id; } 

Метод на мутатор: Методът(ите) чете променливата(ите) на потребителския модел и също така променя стойностите. Можем лесно да го идентифицираме, тъй като методът има префикс с думата комплект . Известен е още като сетери или модификатори . Не връща нищо. Той приема параметър от същия тип данни, който зависи от полето. Използва се за задаване на стойността на частното поле.

Пример

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

Пример за метод за достъп и мутатор

Студент.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); } } 

Абстрактен метод

Методът, който няма тяло на метода, е известен като абстрактен метод. С други думи, без реализация е известен като абстрактен метод. Винаги декларира в абстрактен клас . Това означава, че самият клас трябва да е абстрактен, ако има абстрактен метод. За да създадем абстрактен метод, използваме ключовата дума абстрактно .

Синтаксис

 abstract void method_name(); 

Пример за абстрактен метод

Демо.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(); } } 

Изход:

 Abstract method... 

Фабричен метод

Това е метод, който връща обект в класа, към който принадлежи. Всички статични методи са фабрични методи. Например, NumberFormat obj = NumberFormat.getNumberInstance();