Різниця між статичним та кінцевим на Java

Ключова різниця - статична проти остаточний на Java
 

Кожна мова програмування має певний синтаксис. Програміст повинен дотримуватися цих синтаксисів під час написання програм. Ключові слова мов програмування мають конкретні значення відповідно до завдань. Вони забезпечуються мовою програмування і не можуть використовуватися для визначених користувачем змінних, методів, класів, і т. д. статичний і заключний - два ключові слова на Java. У цій статті йдеться про різницю між статичним та кінцевим на Java. The ключова різниця між статичним і кінцевим на Java це те, що static використовується для визначення члена класу, який може бути використаний незалежно від будь-якого об'єкта класу, тоді як final використовується для оголошення постійної змінної або методу, який не можна перекрити, або класу, який не може бути успадкований.

ЗМІСТ

1. Огляд та ключові відмінності
2. Що є статичним у Java
3. Що є остаточним у Java
4. Подібність між статичним та кінцевим на Java
5. Порівняльне порівняння - статичний та остаточний на Java у табличній формі
6. Підсумок

Що є статичним у Java?

Клас складається з членів даних (атрибутів) та методів. Для виклику методів повинен бути об'єкт цього конкретного класу. Коли метод оголошується статичним, для створення виклику цього методу не потрібно створювати об'єкт. Метод можна викликати за допомогою імені класу. Дивіться програму нижче.

Рисунок 01: Програма Java зі статичними змінними та статичним методом

Відповідно до вищезгаданої програми, клас А містить змінну чисел та спосіб відображення. Обидва є статичними членами. Тому не потрібно створювати об’єкт для доступу до змінної числа та методу відображення. Програміст може безпосередньо записати ім'я класу, щоб надрукувати номер та викликати дисплей методу. Отже, немає необхідності інстанціювати об’єкт. Якщо змінна числа та метод відображення нестатичні, то повинен бути об'єкт типу A.

Малюнок 02: Використання статичного блоку

Вищеописана програма містить статичний блок та основний метод. Статичний блок викликається при завантаженні класу. Тому оператор у статичному блоці виконується перед оператором у головному блоці. Якщо є багато статичних блоків, вони виконуватимуться послідовно.

Що є остаточним у Java?

У програмі можуть бути змінні різних типів. Якщо є змінна, як int x = 1; пізніше в програмі це змінне значення може бути змінено на якесь інше значення. Змінна, яка оголошена остаточною та ініціалізована зі значенням, не може бути змінена пізніше в програмі.

Малюнок 03: Програма з остаточною змінною та успадкуванням

Відповідно до вищезгаданої програми, x є кінцевою змінною. Йому присвоюється значення 5. Не може бути змінено якесь інше значення, оскільки воно оголошено як остаточне. Java підтримує об'єктно-орієнтоване програмування (OOP). Один стовп ООП - це поліморфізм. Один тип поліморфізму є переважаючим. Клас А має метод відображення. Клас В розширює клас А і має власний метод відображення. Під час створення об'єкта типу B та виклику методу відображення буде надруковано "B" як вихід. Метод відображення класу A перекрито методом відображення класу B.

Якщо програміст чого уникає переосмислення методу, то він може використовувати остаточне ключове слово для цього методу. Якщо метод відображення в класі A є остаточним, метод відображення в B видасть помилку, оскільки цей метод не може бути замінений.

Малюнок 04: заключне ключове слово в Методі

Ще один стовп ООП - спадкування. Це допомагає повторно використовувати вже наявний код. Новий клас може поширюватися на існуючий клас та використовувати члени даних та методи існуючого класу. Якщо потрібно припинити успадкування класу, програміст може використовувати ключове слово "остаточний". Дивіться програму нижче.

Малюнок 05: заключне ключове слово в класі

Згідно з вищезазначеною програмою, клас А оголошується як остаточний. Коли клас B поширює A, він видає помилку, оскільки клас A оголошується як остаточний. Він не може бути успадкований іншими класами.

Яка схожість між статичним та кінцевим у Java?

  • Статичні та кінцеві - ключові слова на Java.

Яка різниця між статичним та кінцевим на Java?

static vs final на Java

Статичне ключове слово позначає, що до змінної або методу члена можна отримати доступ, не вимагаючи примірника класу, до якого він належить. Кінцеве ключове слово позначає сутність, яку можна призначити лише один раз.
 Змінні
Статичні змінні можуть бути реініціалізовані. Кінцеві змінні неможливо повторно реалізувати.
Методи
Можна викликати іншими статичними методами та отримувати доступ лише до статичних членів класу. Остаточні методи не можна перекрити.
Клас
Об'єкт статичного класу неможливо створити. Він містить лише статичні члени. Остаточний клас не може бути успадкований іншими класами.
Блок
Статичне ключове слово можна використовувати в блоці. Кінцеве ключове слово не використовується з блоком.

Підсумок - статичний vs остаточний на Java

У цій статті розглянуто два ключові слова на Java, такі як статичне та кінцеве. Різниця між статичним і кінцевим в Java полягає в тому, що статичний використовується для визначення члена класу, який може бути використаний незалежно від будь-якого об'єкта класу, а остаточний використовується для оголошення постійної змінної або методу, який не можна перекрити, або класу, який не може бути у спадок.

Довідка:

1. Що таке статичне ключове слово на Java | статичний метод та статична змінна, Телусько вчення, 6 березня 2015. Доступно тут  
2.7.16 Як користуватися статичним блоком у навчальному посібнику Java, Телуське навчання, 30 квітня 2015 р. Доступний тут
3.8.13 Як використовувати заключне ключове слово на Java | Метод, клас та змінна, Телусько, 26 лютого 2015 року. Доступно тут