logo

Metoda w Javie

Ogólnie rzecz biorąc, A metoda jest sposobem na wykonanie jakiegoś zadania. Podobnie, metoda w Javie to zbiór instrukcji wykonujących określone zadanie. Zapewnia możliwość ponownego użycia kodu. Możemy również łatwo modyfikować kod za pomocą metody . W tej części się dowiemy czym jest metoda w Javie, rodzaje metod, deklaracja metody, I jak wywołać metodę w Javie .

Co to jest metoda w Javie?

A metoda to blok kodu lub zbiór instrukcji lub zestaw kodu pogrupowany w celu wykonania określonego zadania lub operacji. Służy do osiągnięcia możliwość ponownego użycia kodu. Metodę piszemy raz i używamy jej wiele razy. Nie musimy ciągle pisać kodu. Zapewnia również łatwa modyfikacja I czytelność kodu, po prostu dodając lub usuwając fragment kodu. Metoda jest wykonywana tylko wtedy, gdy ją wywołamy lub wywołamy.

Najważniejszą metodą w Javie jest główny() metoda. Jeśli chcesz przeczytać więcej o metodzie main(), kliknij link https://www.javatpoint.com/java-main-method .

Deklaracja metody

Deklaracja metody dostarcza informacji o atrybutach metody, takich jak widoczność, typ zwracany, nazwa i argumenty. Składa się z sześciu elementów zwanych tzw nagłówek metody , jak pokazano na poniższym rysunku.

Metoda w Javie

Podpis metody: Każda metoda ma sygnaturę metody. Jest częścią deklaracji metody. Zawiera nazwa metody I lista parametrów .

Specyfikator dostępu: Specyfikator lub modyfikator dostępu to typ dostępu metody. Określa widoczność metody. Java zapewnia cztery typy specyfikatorów dostępu:

    Publiczny:Metoda jest dostępna dla wszystkich klas, jeśli w naszej aplikacji użyjemy specyfikatora publicznego.Prywatny:Kiedy używamy specyfikatora dostępu prywatnego, metoda jest dostępna tylko w klasach, w których jest zdefiniowana.Chroniony:Kiedy używamy specyfikatora dostępu chronionego, metoda jest dostępna w tym samym pakiecie lub podklasach w innym pakiecie.Domyślny:Jeśli w deklaracji metody nie użyjemy żadnego specyfikatora dostępu, Java domyślnie użyje domyślnego specyfikatora dostępu. Jest widoczny tylko z tego samego pakietu.

Typ zwrotu: Typ zwracany to typ danych zwracany przez metodę. Może mieć prymitywny typ danych, obiekt, kolekcję, void itp. Jeśli metoda nic nie zwraca, używamy słowa kluczowego void.

pierwsze dziecko CSS

Nazwa metody: Jest to unikalna nazwa używana do zdefiniowania nazwy metody. Musi odpowiadać funkcjonalności metody. Załóżmy, że jeśli tworzymy metodę odejmowania dwóch liczb, nazwa metody musi brzmieć odejmowanie(). Metoda jest wywoływana poprzez jej nazwę.

Lista parametrów: Jest to lista parametrów oddzielona przecinkiem i ujęta w nawiasy. Zawiera typ danych i nazwę zmiennej. Jeżeli metoda nie posiada parametrów, nawiasy pozostaw puste.

Treść metody: Jest częścią deklaracji metody. Zawiera wszystkie czynności, które należy wykonać. Jest ona ujęta w parę nawiasów klamrowych.

Nazywanie metody

Definiując metodę należy pamiętać, że nazwą metody musi być a czasownik i zacznij od a małe litery list. Jeśli nazwa metody składa się z więcej niż dwóch słów, pierwszym imieniem musi być czasownik, po którym następuje przymiotnik lub rzeczownik. W nazwie metody składającej się z wielu słów musi znajdować się pierwsza litera każdego słowa duże litery z wyjątkiem pierwszego słowa. Na przykład:

Nazwa metody składająca się z jednego słowa: suma(), obszar()

Nazwa metody składającej się z wielu słów: areaOfCircle(), stringComparision()

Możliwe jest również, że metoda ma taką samą nazwę jak inna nazwa metody w tej samej klasie, jest to tzw przeciążanie metody .

Rodzaje metod

W Javie istnieją dwa typy metod:

  • Wstępnie zdefiniowana metoda
  • Metoda zdefiniowana przez użytkownika

Wstępnie zdefiniowana metoda

W Javie metody predefiniowane to metody już zdefiniowane w bibliotekach klas Java, zwane metodami predefiniowanymi. Znany jest również jako standardowa metoda biblioteczna Lub metoda wbudowana . Możemy bezpośrednio skorzystać z tych metod, po prostu wywołując je w programie w dowolnym momencie. Niektóre z predefiniowanych metod są długość(), równa się(), porównaj(), sqrt(), itp. Kiedy wywołujemy którąkolwiek z predefiniowanych metod w naszym programie, w tle, który jest już przechowywany w bibliotece, uruchamiana jest seria kodów związanych z odpowiednią metodą.

Każda predefiniowana metoda jest zdefiniowana wewnątrz klasy. Jak na przykład wydrukować() metoda jest zdefiniowana w java.io.PrintStream klasa. Drukuje instrukcję, którą zapiszemy wewnątrz metody. Na przykład, print('Java') , wypisuje Java na konsoli.

Zobaczmy przykład predefiniowanej metody.

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

Wyjście:

 The maximum number is: 9 

W powyższym przykładzie zastosowaliśmy trzy predefiniowane metody główna(), drukuj(), I maks.() . Użyliśmy tych metod bezpośrednio, bez deklaracji, ponieważ są one predefiniowane. Metoda print() jest metodą Drukuj strumień klasa, która wypisuje wynik na konsoli. Metoda max() jest metodą typu Matematyka klasa, która zwraca większą z dwóch liczb.

Korzystając z łącza, możemy również zobaczyć sygnaturę dowolnej predefiniowanej metody https://docs.oracle.com/ . Kiedy przejdziemy przez łącze i zobaczymy sygnaturę metody max(), znajdziemy następujące informacje:

Metoda w Javie

W powyższej sygnaturze metody widzimy, że sygnatura metody ma specyfikator dostępu publiczny , modyfikator braku dostępu statyczny , typ zwrotu wew , nazwa metody maks.(), lista parametrów (int a, int b). W powyższym przykładzie zamiast definiować metodę, po prostu ją wywołaliśmy. Jest to zaleta predefiniowanej metody. Dzięki temu programowanie jest mniej skomplikowane.

Podobnie możemy zobaczyć także sygnaturę metody print().

Metoda zdefiniowana przez użytkownika

Metoda napisana przez użytkownika lub programistę jest znana jako zdefiniowany przez użytkownika metoda. Metody te są modyfikowane w zależności od wymagań.

Jak utworzyć metodę zdefiniowaną przez użytkownika

Stwórzmy zdefiniowaną przez użytkownika metodę sprawdzającą, czy liczba jest parzysta czy nieparzysta. Najpierw zdefiniujemy metodę.

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

Zdefiniowaliśmy powyższą metodę o nazwie findevenodd(). Ma parametr na jednego typu int. Metoda nie zwraca żadnej wartości, dlatego użyliśmy metody void. Treść metody zawiera kroki umożliwiające sprawdzenie, czy liczba jest parzysta czy nieparzysta. Jeśli liczba jest parzysta, drukuje liczbę jest równa , w przeciwnym razie drukuje numer to jest dziwne .

Jak wywołać lub wywołać metodę zdefiniowaną przez użytkownika

Kiedy już zdefiniujemy metodę, należy ją wywołać. Wywołanie metody w programie jest proste. Kiedy wywołujemy lub wywołujemy metodę zdefiniowaną przez użytkownika, kontrola programu jest przekazywana do wywoływanej metody.

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

W powyższym fragmencie kodu, gdy tylko kompilator osiągnie linię znajdźEvenOdd(num), przekazuje kontrolę do metody i odpowiednio podaje wynik.

Połączmy oba fragmenty kodu w jeden program i wykonajmy go.

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

Wyjście 1:

stosuj Javę
 Enter the number: 12 12 is even 

Wyjście 2:

 Enter the number: 99 99 is odd 

Zobaczmy inny program, który zwraca wartość do metody wywołującej.

W poniższym programie zdefiniowaliśmy metodę o nazwie dodać() które sumują te dwie liczby. Posiada dwa parametry n1 i n2 typu całkowitego. Wartości n1 i n2 odpowiadają odpowiednio wartościom a i b. Dlatego metoda dodaje wartość a i b, przechowuje ją w zmiennej s i zwraca sumę.

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

Wyjście:

 The sum of a and b is= 24 

Metoda statyczna

Metoda zawierająca słowo kluczowe static nazywana jest metodą statyczną. Innymi słowy, metoda należąca do klasy, a nie do instancji klasy, nazywana jest metodą statyczną. Możemy również utworzyć metodę statyczną za pomocą słowa kluczowego statyczny przed nazwą metody.

Główną zaletą metody statycznej jest to, że możemy ją wywołać bez tworzenia obiektu. Może uzyskiwać dostęp do statycznych elementów danych, a także zmieniać ich wartość. Służy do tworzenia metody instancji. Jest wywoływana przy użyciu nazwy klasy. Najlepszym przykładem metody statycznej jest główny() metoda.

Przykład metody statycznej

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

Wyjście:

aktor Govindy
 It is an example of a static method. 

Metoda instancji

Metoda klasy jest znana jako metoda instancji . To jest niestatyczny metoda zdefiniowana w klasie. Przed wywołaniem lub wywołaniem metody instancji konieczne jest utworzenie obiektu jej klasy. Zobaczmy przykład metody instancji.

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

Wyjście:

 The sum is: 25 

Istnieją dwa typy metod instancji:

    Metoda akcesora Metoda mutacyjna

Metoda akcesora: Metody odczytujące zmienne instancji nazywane są metodami dostępu. Możemy to łatwo zidentyfikować, ponieważ metoda jest poprzedzona słowem Dostawać . Znany jest również jako pobieracze . Zwraca wartość pola prywatnego. Służy do uzyskania wartości pola prywatnego.

Przykład

 public int getId() { return Id; } 

Metoda mutatora: Metody odczytują zmienne instancji, a także modyfikują wartości. Możemy to łatwo zidentyfikować, ponieważ metoda jest poprzedzona słowem ustawić . Znany jest również jako setery Lub modyfikatory . To nic nie zwraca. Akceptuje parametr tego samego typu danych, który zależy od pola. Służy do ustawienia wartości pola prywatnego.

Przykład

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

Przykład metody akcesora i mutatora

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 abstrakcyjna

Metoda, która nie ma treści, nazywana jest metodą abstrakcyjną. Innymi słowy, metoda bez implementacji nazywana jest metodą abstrakcyjną. Zawsze deklaruje w klasa abstrakcyjna . Oznacza to, że sama klasa musi być abstrakcyjna, jeśli ma metodę abstrakcyjną. Aby utworzyć metodę abstrakcyjną, używamy słowa kluczowego abstrakcyjny .

Składnia

 abstract void method_name(); 

Przykład metody abstrakcyjnej

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

Wyjście:

 Abstract method... 

Metoda fabryczna

Jest to metoda zwracająca obiekt do klasy, do której należy. Wszystkie metody statyczne są metodami fabrycznymi. Na przykład, NumberFormat obj = NumberFormat.getNumberInstance();