STAŁE – final | Kurs Java

Stale

Stałe (final) – Wyobraź sobie, że potrzebujesz stworzyć zmienną, której wartość będzie niezmienna🤪 – raz przypisana i już zawsze taka sama. Przykładowo – chcesz mieć pewność, że maksymalna wysokość to zawsze będą 2 metry i nikt przez pomyłkę nie ustawi jej na 3 metry 📐. To właśnie umożliwiają stałe.

W tym materiale chcę Ci powiedzieć – czym są stałe (final) i co je różni od zmiennych.

Java – Stałe – wprowadzenie

Z tego materiału dowiesz się:

  • Czym jest stała?
  • Czym różni się stała od zmiennej?
  • Czym są metody finalne?
  • Czym są klasy finalne?

Czym stała różni się od zmiennej?

Stałe, to w pewnym sensie przeciwieństwo zmiennych. W Javie stałe deklaruje się bardzo podobnie do zmiennych, z tą różnicą, że przed deklarowanym typem trzeba dodać jeszcze słowo kluczowe: final.

Zadeklarowanej w ten sposób stałej można przypisać wartość tylko raz. Późniejsze próby jej modyfikacji zakończą się błędem kompilacji.

final double CONSTANT_PI = 3.14;

final int OTHER_CONSTANT;
OTHER_CONSTANT = 1;

Java – Stałe referencyjne

Jeśli mamy stałą referencyjną, to nie możemy jej ponownie przypisać.

⚠️ Nie oznacza to jednak, że obiekt, do którego się odwołuje, jest niezmienny. Można dowolnie zmieniać właściwości tego obiektu. ⚠️

final User user = new User();
user.setAge(35) // kompiluje się prawidłowo
user = new User(); // błąd kompilacji

Java – Stałe – argumenty

Słowo kluczowe final można również zastosować przed argumentami metody. Końcowy argument nie może być zmieniony wewnątrz metody.

public void printAge(final int age) {
   age = 1;// błąd kompilacji
   System.out.println(age);
}

Java – Stałe – Konwencja nazewnicza

Nie ma takiego wymogu składniowego, jednak według konwencji nazewnictwa w Javie stałe powinno nazywać się wielkimi literami i cyframi, a kolejne słowa powinny być oddzielone znakiem podkreślenia.

long maxValue = Long.MAX_VALUE;
long minValue = Long.MIN_VALUE;

W Javie stałe są wykorzystywane dość powszechnie, np. w klasach opakowujących.

Dobrym zwyczajem jest przechowywanie różnego rodzaju niezmiennych wartości właśnie jako stałych, dzięki czemu unikniemy ich przypadkowej modyfikacji oraz, jeżeli zaszłaby potrzeba zmiany tej wartości w całym systemie, możemy to zrobić modyfikując kod tylko w jednym miejscu.

Long Java Stałe final variable

Java – Stałe – Metody

Metody w Javie również mogą być „stałe”, chociaż w tym przypadku pasuje bardziej określenie finalne. Metody oznaczone jako finalne nie mogą być nadpisane. Wiele metod finalnych możemy również znaleźć w bibliotekach podstawowych Javy np. getClass() z klasy Object.java

public class MathClass {
    public final long add(int a, int b) {
        return a + b;
    }
}

Java – Stałe – Klasy

Klasy finalne nie mogą być rozszerzane. Przykładem takiej klasy jest np. klasa String.

⚠️ Słowo kluczowe final w deklaracji klasy nie oznacza, że obiekty tej klasy są niezmienne.⚠️

public final class Box {
    private int high;
    //gettery i settery
}

public class Shape extends Box{ // błąd kompilacji
}

Java – Zmienne

W ramach tego materiału zajmiemy się przede wszystkim stałymi – natomiast materiał dotyczący zmiennych znajdziesz poniżej.

➡ ZOBACZ 👉: Zmienne i typy danych

Java – Stałe – podsumowanie

W ramach tego materiału dowiedzieliśmy się, czym są stałe. Bliżej zapoznaliśmy się z finalnymi zmiennymi, metodami i klasami. Jeżeli chcesz kontynuować swoją przygodę z Javą i poznać inne struktury, które oferuję ten język programowania – to zapraszam do kolejnego tematu z serii o Javie. Przedstawię Ci temat klas osłonowych – pomostu pomiędzy typami prostymi a obiektowymi.

➡ ZOBACZ 👉: Klasy osłonowe/ opakowujące

Kierunek Java

W serii o Javie zapoznajesz się z podstawowymi tematami o Javie. Jeżeli chcesz bardziej kompleksowo zagłębić się w temat Javy, poczytać, posłuchać o Javie, to zachęcam Cię do zapoznania się z moim kursem „Kierunek Java”:

➡ ZOBACZ 👉: Kierunek Java


20+ BONUSOWYCH materiałów z programowania

e-book – „8 rzeczy, które musisz wiedzieć, żeby dostać pracę jako programista”,
e-book – „Java Cheat Sheet”,
checklista – „Pytania rekrutacyjne”
i wiele, wiele wiecej!

Jak zostać programistą

No comments
Share:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *