Metody statyczne

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

Strona główna