/*
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"