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.
Spis treści
- 1 Java – Stałe – wprowadzenie
- 2 Czym stała różni się od zmiennej?
- 3 Java – Stałe referencyjne
- 4 Java – Stałe – argumenty
- 5 Java – Stałe – Konwencja nazewnicza
- 6 Java – Stałe – Metody
- 7 Java – Stałe – Klasy
- 8 Java – Zmienne
- 9 Java – Stałe – podsumowanie
- 10 Kierunek Java
- 11 20+ BONUSOWYCH materiałów z programowania
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.
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!