JavaRush /Java блог /Random UA /Шпаргалка "Використання ключового слова final"
Ирина
10 рівень

Шпаргалка "Використання ключового слова final"

Стаття з групи Random UA
У цій статті наведено основні способи застосування ключового слова final у програмуванні Java. Короткі, чіткі описи ситуації застосування допоможуть швидко засвоїти матеріал. Ключове слово final має різні інтерпретації залежно від цього, де програми воно використовується. Але суть цього слова одна — заборона зміну . По суті, застосовуючи це слово до однієї з сутності мови Java: змінної, об'єкта, методу чи класу, — ми робимо з неї константу, стабільну і незмінну величину, як зачіска у співака Йосипа Кобзона... Нагадаю коротке визначення константи. Константа - постійна величина (скалярна або векторна) у математиці, фізиці, хімії. Математична константа - величина, значення якої не змінюється; у цьому вона протилежна змінній. Розглянемо 4 випадки, коли можна застосувати слово final .

1. Створення константи примітивного типу даних.

Тут не можна змінити значення MY_CONST . Таким чином, якщо написати слово final біля примітивної змінної, вона є константою.
public class MyClass{
	public final int MY_CONST = 13;
}

2. Створення константи типу посилання.

Цей код не буде викликати помилки, але тільки до того часу, поки не привласнити нове значення змінної s1 . Тобто слово final для типів посилань забороняє зміну посилання, а не об'єкта, на який вказує посилання. Також варто зазначити, що привласнення допустиме в будь-якому місці програми, але лише один раз.
public class MyClass2{
	public final String s1;
	public MyClass2() {
		s1 = new String();
	 }
}

3. Заборона на перевизначення методу у класі-спадкоємці

Слово final біля методу забороняє перевизначення цього у класах-спадкоємцях.
public class Example{
	public final void hello() {
	System.out.println(Hello my people!);
	}
}
Тобто, якщо створити клас-спадкоємець від Example і написати в ньому наступний код, буде помилка:
public class ExtendedExample extends Example{
	public void hello() {
		System.out.println("Extended hello everyone!!!");
	}
}

4. Заборона створення класу спадкоємця

Фінальний клас — це клас, який може бути суперкласом, тобто забороняється писати йому спадкоємців.
public final class MyClass3 {

 }
Автор: Ірина Волгіна
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ