/* MetodyStatyczne1.java Przebieg wykonania programu MetodyStatyczne1 1. Metoda główna wywołuje metodę statyczną metodaStatyczna2 2. Metoda statyczna 2 z kolei: a) wypisuje napis "Metoda statyczna 2" b) wypisuje napis "Wywolanie metody 1" c) wywołuje metodę statyczną metodaStatyczna1 3. Metoda statyczna 1 wypisuje napis "Metoda statyczna 1" Uwagi: 1. Metod nie można zagnieżdżać w sobie. Innymi słowy, metoda nie może zostać umieszczona w ciele innej metody. 2. Po nagłówku metody nieabstrakcyjnej nie wolno umieścić średnika, bo spowoduje to wystąpienie błedu: "missing method body, or declare abstract" */ public class MetodyStatyczne1 { public static void main(String[] args) { metodaStatyczna2(); // wywołanie metody 2 } static void metodaStatyczna1() { System.out.println("Metoda statyczna 1"); } static void metodaStatyczna2() { System.out.println("Metoda statyczna 2"); System.out.println("Wywolanie metody 1"); metodaStatyczna1(); } }
Metoda statyczna 2 Wywolanie metody 1 Metoda statyczna 1 Press any key to continue...
Zadanie Dokonaj analizy programu MetodyStatyczne1.
* metodaStatyczna2() "Metoda statyczna 2" "Wywolanie metody 1" metodaStatyczna1() * metodaStatyczna1() "Metoda statyczna 1"
/* MetodyStatyczne2.java Przebieg wykonania programu MetodyStatyczne2 1. Program rozpoczyna się od metody main, w której: a) metoda println wypisuje napis "4 + 6 = " b) dołącza do niego wartość zwracaną przez metodę suma, która jest wywoływana z parametrami aktualnymi 4 i 6 c) przypisuje wartości 4 i 6 do zmiennych odpowiednio a i b d) wywołuje metodę zsumuj z parametrami aktualnymi a i b Opis metody suma, metoda suma: 1. pobiera przez parametry formalne a i b wartości typu całkowitego int 2. zwraca sumę wartości przekazanych do metody przez parametry a i b Opis metody zsumuj, metoda zsumuj: 1. pobiera przez parametry formalne x i y wartości typu całkowitego int 2. wypisuje wartość zmiennej x, znak " + ", wartość zmiennej y, znak " = " i dołącza do nich wartość zwracaną przez metodę suma, która jest wywoływana z parametrami aktualnymi x i y Uwagi: Parametry formalne metody lub konstruktora, to zmienne zadeklarowane w nagłówku metody lub konstruktora. Przez parametry formalne przekazuje się wartości do ciała metody lub konstruktora. Zmienne zadeklarowane w nagłówku danej metody lub konstruktora są widoczne w całym ciele danej metody lub konstruktora. Parametry aktualne to wartości, które podstawia się do parametrów formalnych metody lub konstruktora w momencie wywołania metody lub konstruktora. Metoda ze słowem kluczowym void może zawierać bezparametrową instrukcję return, która powoduje zakończenie działania metody, nie może natomiast zawiarać instrukcji return z parametrem. Metoda ze słowem kluczowym void nigdy nie zwraca wartości. Metoda, która zwraca wartość nie może zawierać bezparametrowej instrukcji return. Musi natomiast zawierać instrukcję return z parametrem, która powoduje zakończenie działania metody oraz określa wartość zwracaną przez metodę. */ public class MetodyStatyczne2 { public static void main(String[] args) { System.out.println("4 + 6 = " + suma(4,6)); int a = 4; int b = 6; zsumuj(a,b); } static int suma(int a, int b) // metoda suma zwraca wartość typu int { return a + b; } static void zsumuj(int x, int y) // metoda zsumuj nie zwraca wartości { System.out.println(x + " + " + y + " = " + suma(x,y)); } }
4 + 6 = 10 4 + 6 = 10 Press any key to continue...
Zadanie Dokonaj analizy programu MetodyStatyczne2.
"4 + 6 = " + suma(4,6) * suma(4,6) = 10 a = 4 b = 6 return a + b = 4 + 6 = 10 "4 + 6 = 10" a = 4 b = 6 * zsumuj(4,6) x = 4 y = 6 "4 + 6 = " + suma(4,6) * suma(4,6) = 10 a = 4 b = 6 return a + b = 4 + 6 = 10 "4 + 6 = 10"