Metoda w Javie to nic innego jak fragment kodu wielokrotnego użytku, który można wykonać na żądanie.
Metody są często nazywane funkcjami i można zauważyć, że oba słowa są używane zamiennie.
Spis treści:
Znaczenie używania metod lub funkcji
Twórcy oprogramowania rozwiązują problem, dzieląc go na mniejsze problemy i rozwiązując je w celu rozwiązania problemu jako całości. Pomysł ten doprowadził do tak zwanej architektury modułowej. W tym podejściu programiści rozkładają kod na części, które można przenosić i wykonywać w celu rozwiązania większego problemu.
Metody są korzystne, ponieważ można ich używać w różnych przypadkach w całej aplikacji. Powiedzmy, że chcesz stworzyć metodę użytkową, aby usunąć wszystkie niepotrzebne spacje ze zdania. Czy ma sens pisanie logiki za każdym razem, gdy jej potrzebujesz gdzieś w swojej aplikacji?
A może ma sens jednorazowe utworzenie metody, a następnie użycie tej samej metody z różnymi danymi wejściowymi w wielu miejscach aplikacji? Ten drugi jest oczywiście lepszy i wydajniejszy.
Co więcej, za pomocą modyfikatorów dostępu w Javie możesz nawet kontrolować, które metody są faktycznie współużytkowane w aplikacji, a które nie. Pomaga także sprawić, by Twój kod wyglądał na bardziej czytelny, uporządkowany i uporządkowany.
Rodzaje metod w Javie
Istnieją dwa rodzaje metod w Javie: metody zdefiniowane przez użytkownika i metody predefiniowane. Metody zdefiniowane przez użytkownika, jak sama nazwa wskazuje, są definiowane jawnie przez programistę. Przykładem metody zdefiniowanej przez użytkownika może być:
public int sum(int a, int b) { return a + b; }
Z drugiej strony, predefiniowane lub wbudowane metody są już częścią języka programowania Java. Przykładem wbudowanej metody może być:
String text = "Hello World"; text.toLowerCase();
Tutaj toLowerCase jest wbudowaną metodą Java, którą można wywołać z dowolnego miejsca w kodzie.
Struktura metody w Javie
Przyjrzyjmy się idealnej strukturze metody w Javie:
[access_modifier] [return_type] method_name(...parameters) { // method body }
Te składniki metody muszą być określone w kolejności. Na przykład metody nie można zdefiniować przed zwracanym typem i podobnie. Poznajmy funkcje każdego z tych komponentów składających się na metodę i jak ze sobą współpracują.
# 1. Modyfikator dostępu
W Javie modyfikatory dostępu to słowa kluczowe określające widoczność metody, klasy, interfejsu, zmiennej itp. Technicznie rzecz biorąc, w Javie istnieje pięć modyfikatorów dostępu:
- publiczny: dostępny dla wszystkich klas
- private: dostępny tylko dla klasy, do której należy
- default: domyślny modyfikator dostępu jest podobny do modyfikatora protected, w którym metoda jest dostępna tylko wewnątrz tego samego pakietu
- chroniony: dostępny w ramach podklas lub określonego pakietu
public int sum(a int, b int) { return a + b; }
Tutaj metoda calc ma modyfikator dostępu jako public, a zatem będzie dostępna z dowolnego miejsca.
#2. Typ zwrotu
Typ zwracany przez funkcję określa typ danych, które funkcja ma zwrócić. Jeśli nie chcesz niczego zwracać z funkcji, w takim przypadku określ typ zwrotu void. Słowa kluczowego return nie można użyć, gdy określono typ void. Określenie zwracanego typu jest koniecznością w celu zdefiniowania funkcji.
public void log(String text) { System.out.println(text); }
Powyższa metoda niczego nie zwraca; to tylko drukowanie tekstu na konsoli. A zatem typ zwrotu void.
#3. Nazwa metody
Identyfikuje metodę w klasie i służy do wywołania metody z obiektu.
class Print { void log(String text) { System.out.println(text); } } Print p = new Print(); p.log("hello world"); // outputs "hello world"
#4. Parametry
Możesz przekazywać argumenty do metod zgodnie ze zdefiniowanymi w nich parametrami. Na przykład, jeśli dla metody zdefiniowano dwa parametry, można przekazać tylko dwa argumenty z odpowiednimi typami danych. I musisz przekazać argumenty w kolejności, w jakiej zostały zdefiniowane.
class Calc { int sum(a int, b int) { return a + b; } } Calc cal = new Calc(); cal.sum(3, 7); // will return 10
#5. Ciało
Treść metody zawiera logikę programowania używaną do zwracania określonego wyniku. Pełni funkcję, którą metoda ma spełniać. Jest ujęty w nawiasy klamrowe i jest często określany jako blok kodu.
class Calc { int sum(a int, b int) { return a + b; } }
Tutaj instrukcja return wewnątrz nawiasów klamrowych jest treścią sumy metody.
Metody wywoływania w Javie
Wywoływanie metod w Javie jest dość proste. Metodę można wywołać po nazwie z instancji klasy, w której się znajduje.
Metody statyczne można wywoływać bez instancji obiektu klasy, w której się one znajdują. Metody niestatyczne muszą być ściśle wywoływane z instancji klasy, innymi słowy z obiektu.
W przypadku metod statycznych wywołanie wygląda następująco:
class Math { public static int sum(int a, int b) { return a + b; } } public class Main { public static void main(String[] args) { int add = Math.sum(5, 2); System.out.println(add); } }
W powyższym kodzie metoda sum wewnątrz klasy Math jest metodą statyczną. I to jest powód, dla którego nie musisz tworzyć obiektu (instancji) klasy Math, wystarczy wywołać metodę z samej klasy.
Z drugiej strony, w przypadku metod niestatycznych wywołanie wygląda następująco:
class Math { public int sum(int a, int b) { return a + b; } } public class Main { public static void main(String[] args) { int add = new Math().sum(5, 2); System.out.println(add); } }
Tutaj tworzysz nowy obiekt z klasy Math, a następnie wywołujesz metodę sum. Powodem tego jest fakt, że metody niestatyczne nie są tworzone do momentu utworzenia instancji klasy.
W ten sposób możesz wywołać metodę w Javie.
Ostatnie słowa
Nie tylko w Javie, ale w każdym innym języku programowania metody to świetny sposób na uporządkowanie kodu i ponowne wykorzystanie ich w wielu miejscach. Metody są budulcem architektury modułowej i opartej na komponentach.
Jeśli interesujesz się Javą, dowiedz się więcej o obsłudze wyjątków w Javie.