W tym artykule opisano podstawowe zastosowania słowa kluczowego final w programowaniu w języku Java. Krótkie, jasne opisy sytuacji aplikacyjnej pomogą Ci szybko opanować materiał. Ostatnie słowo kluczowe ma różne interpretacje w zależności od tego, gdzie w programie jest użyte. Ale istota tego słowa jest ta sama – zakaz zmian . Tak naprawdę, stosując to słowo do jednej z esencji języka Java: zmiennej, obiektu, metody czy klasy, czynimy z tego wartość stałą, stabilną i niezmienną, jak fryzura piosenkarza Josepha Kobzona... Przypomnę krótkiej definicji stałej. Stała to stała wielkość (skalarna lub wektorowa) w matematyce, fizyce, chemii. Stała matematyczna to wielkość, której wartość się nie zmienia; w tym przypadku jest to przeciwieństwo zmiennej. Przyjrzyjmy się 4 przypadkom, w których możemy użyć słowa final .
1. Tworzenie stałej typu pierwotnego.
Tutaj nie można zmienić wartości MY_CONST . Zatem, jeśli napiszesz słowo final obok zmiennej pierwotnej, będzie to stała.public class MyClass{
public final int MY_CONST = 13;
}
2. Tworzenie stałej typu referencyjnego.
Kod ten nie spowoduje błędu, ale tylko do czasu przypisania nowej wartości zmiennej s1 . Oznacza to, że słowo final dla typów referencyjnych zabrania modyfikacji odniesienia, a nie obiektu, na który wskazuje odniesienie. Warto również zaznaczyć, że przypisanie jest ważne w dowolnym miejscu programu, ale tylko raz.public class MyClass2{
public final String s1;
public MyClass2() {
s1 = new String();
}
}
3. Zakaz przesłaniania metody w klasie potomnej
Słowo final obok metody zabrania przesłaniania tej metody w klasach potomnych.public class Example{
public final void hello() {
System.out.println(“Hello my people!”);
}
}
Oznacza to, że jeśli utworzysz klasę dziedziczącą z Przykładu i napiszesz w niej następujący kod, wystąpi błąd:
public class ExtendedExample extends Example{
public void hello() {
System.out.println("Extended hello everyone!!!");
}
}
4. Zakaz tworzenia klasy potomnej
Klasa końcowa to klasa, która nie może być nadklasą, to znaczy, że nie można dla niej pisać potomków.public final class MyClass3 {
}
Autorka: Irina Volgina
GO TO FULL VERSION