Metody klasowe w Javie | Wyjaśnione

Metody klasowe w Javie | Wyjaśnione
W Javie metoda jest niczym innym jak blokiem kodu/instrukcji, który jest zadeklarowany w klasie i może wykonywać różne działania, gdy ktoś to zadzwoni. Niektóre metody można wywołać bezpośrednio ich nazwą (i.mi. bez tworzenia obiektu klasy), podczas gdy niektóre metody wymagają instancji/obiektu klasy (i.mi. musi być wywołany przedmiotem klasy).

Metody, które można wywołać bezpośrednio, są określane jako metody klasowe lub statyczne, podczas gdy metody wymagające obiektu klasy, które mają zostać wywołane, są określane jako instancja lub metody nietatyczne.

Ten zapis przedstawi szczegółowy przegląd metod klasowych i pod tym względem obejmie następujące aspekty metod klas Java:

  • Jaka jest metoda klasowa
  • Jak uzyskać dostęp do metod klasowych
  • Jak uzyskać dostęp do metod publicznych
  • Jak uzyskać dostęp do metody z innej klasy

Zacznijmy!

Metoda klasowa w Javie

Zasadniczo, gdy mamy klasę, musimy utworzyć obiekt tej klasy, aby uzyskać dostęp do jej metod i innych członków. Jednak w klasie można uzyskać metody klasowe/statyczne bez tworzenia instancji tej klasy.

Jak uzyskać dostęp do metod klasowych

Rozważmy pod danym przykładem, aby zrozumieć, jak tworzyć i uzyskać dostęp do metody statycznej/klasy w Javie.

Przykład

Poniższy fragment kodu pobiera od użytkownika dwie liczby i wykonuje je:

Addnumbers klasy publicznej
public static int inded (int num1, int num2)
int add = num1 + num2;
return dodaj;

public static void main (string [] args)
Int Number1, Number2, suma;
Skaner Scan = nowy skaner (system.W);
System.na zewnątrz.drukuj („wprowadź 1. numer:”);
Number1 = Skan.NextIt ();
System.na zewnątrz.wydrukuj („Wprowadź 2. numer:”);
Number2 = Skan.NextIt ();
sum = dodanie (numer1, liczba2);
System.na zewnątrz.println („sum =” + sum);

Kompletny kod i jego odpowiednie wyjście będą takie:

Z powyższego wyjścia jasno wynika, że ​​nie ma potrzeby tworzenia obiektu klasy, aby wywołać metodę statyczną.

Jak uzyskać dostęp do metod publicznych

Rozważmy teraz poniższy przykład, aby sprawdzić, czy można uzyskać dostęp do metody publicznej bezpośrednio, czy nie:

Addnumbers klasy publicznej
public int added (int num1, int num2)
int add = num1 + num2;
return dodaj;

public static void main (string [] args)
Int Number1, Number2, suma;
Skaner Scan = nowy skaner (system.W);
System.na zewnątrz.drukuj („wprowadź 1. numer:”);
Number1 = Skan.NextIt ();
System.na zewnątrz.wydrukuj („Wprowadź 2. numer:”);
Number2 = Skan.NextIt ();
sum = dodanie (numer1, liczba2);
System.na zewnątrz.println („sum =” + sum);

Cały kod jest taki sam jak w poprzednim przykładzie, z wyjątkiem modyfikatora dostępu, ale tym razem otrzymujemy błąd, jak pokazano w następującym fragmencie kodu:

Aby uzyskać dostęp do funkcji nietatycznej, najpierw musimy utworzyć obiekt klasy, będziemy mogli uzyskać dostęp do metody klasy:

Powyższy fragment weryfikuje, że kiedy wywołujemy metodę nietatyczną za pomocą obiektu klasy, działa odpowiednio i zapewnia wolne błąd wyjściowe.

Jak uzyskać dostęp do metody z innej klasy

Widzieliśmy, że metoda statyczna nie wymaga wywołania żadnego obiektu w tej samej klasie, ale co się stanie, gdy będziemy mieć wiele klas? Czy metoda statyczna zostanie wywołana bezpośrednio w takim przypadku? Eksperymentujmy z tym!

Przykład

Rozważmy dwie klasy: jedna klasa o nazwie „Addnumbers„Który będzie utrzymywał główną metodę, a druga to„Myfunkcje" klasa:

Myfunkcje.Jawa

Pakiet Addnumbers;
Myfunkcje klasy publicznej
public static int inded (int num1, int num2)
int add = num1 + num2;
return dodaj;

Addnumbers.Jawa

Addnumbers klasy publicznej
public static void main (string [] args)
Int Number1, Number2, suma;
Skaner Scan = nowy skaner (system.W);
System.na zewnątrz.drukuj („wprowadź 1. numer:”);
Number1 = Skan.NextIt ();
System.na zewnątrz.wydrukuj („Wprowadź 2. numer:”);
Number2 = Skan.NextIt ();
sum = dodanie (numer1, liczba2);
System.na zewnątrz.println („sum =” + sum);

Nazywamy dodatek funkcja Myfunkcje klasa z głównej metody Addnumbers klasa:

Chociaż metoda dodawania jest statyczna, ale nadal otrzymujemy błąd, gdy próbujemy uzyskać do niego bezpośredni dostęp. Wynika to z faktu, że metoda dodawania nie jest w tej samej klasie. Aby uzyskać dostęp do metody innej klasy, musimy utworzyć obiekt tej klasy, niezależnie od jej modyfikatora dostępu i.mi. statyczne lub publiczne.

Addnumbers.Jawa

Addnumbers klasy publicznej
public static void main (string [] args)
Int Number1, Number2, suma;
Skaner Scan = nowy skaner (system.W);
System.na zewnątrz.drukuj („wprowadź 1. numer:”);
Number1 = Skan.NextIt ();
System.na zewnątrz.wydrukuj („Wprowadź 2. numer:”);
Number2 = Skan.NextIt ();
Myfunctions obj = new myFunctions ();
sum = obj.dodanie (numer1, numer2);
System.na zewnątrz.println („sum =” + sum);

Tym razem tworzymy obiekt Myfunkcje klasa w głównej funkcji Addnumbers klasa, a następnie uzyskujemy dostęp do dodatek Metoda za pomocą tego obiektu:

Teraz powyższy fragment weryfikuje, że błąd zniknął, a przy pomocy obiektu Myfunks Class otrzymaliśmy pożądane wyniki.

Wniosek

Metodę klasową/statyczną można uzyskać bezpośrednio w klasie, jednocześnie dostęp do metod publicznych bez tworzenia obiektu nie jest możliwe. Podczas gdy w przypadku wielu klas metody będą dostępne tylko za pomocą obiektów klasowych, niezależnie od ich modyfikatora dostępu. Ten zapis zawiera kompleksowy przewodnik dotyczący metod klasowych i jak uzyskać do nich dostęp z tej samej klasy i z innej klasy.