Разлика между static и final в Java

Съдържание:

Разлика между static и final в Java
Разлика между static и final в Java

Видео: Разлика между static и final в Java

Видео: Разлика между static и final в Java
Видео: Java Абстрактный класс VS Интерфейс 2024, Ноември
Anonim

Ключова разлика – статичен срещу окончателен в Java

Всеки език за програмиране има специфичен синтаксис. Програмистът трябва да следва тези синтаксиси, когато пише програми. Ключовите думи на езиците за програмиране имат специфични значения според задачите. Те се предоставят от езика за програмиране и не могат да се използват за дефинирани от потребителя променливи, методи, класове и т.н. Static и final са две ключови думи в Java. Тази статия обсъжда разликата между static и final в Java. Ключовата разлика между static и final в Java е, че static се използва за дефиниране на член на класа, който може да се използва независимо от всеки обект на класа, докато final се използва за деклариране на постоянна променлива или метод, който не може да бъде заменен, или клас, който не може да се наследи.

Какво е статично в Java?

Класът се състои от членове на данни (атрибути) и методи. За да се извикат методите, трябва да има обект от този конкретен клас. Когато даден метод е деклариран като статичен, не е необходимо да се създава обект за извикване на този метод. Методът може да бъде извикан с помощта на името на класа. Вижте програмата по-долу.

Разлика между static и final в Java
Разлика между static и final в Java

Фигура 01: Java програма със статични променливи и статичен метод

Съгласно горната програма, клас A съдържа числова променлива и метод за показване. И двете са статични членове. Следователно не е необходимо да се създава обект за достъп до числовата променлива и метода за показване. Програмистът може директно да напише името на класа, за да отпечата номера и да извика дисплея на метода. Така че няма нужда да се инстанцира обект. Ако числовата променлива и методът за показване са нестатични, тогава трябва да има обект от тип A.

Разлика между static и final в Java_Figure 02
Разлика между static и final в Java_Figure 02

Фигура 02: Използване на статичен блок

Горната програма съдържа статичния блок и основния метод. Статичният блок се извиква, когато класът се зареди. Следователно операторът в статичния блок се изпълнява преди оператора в основния блок. Ако има много статични блокове, те ще се изпълняват последователно.

Какво е окончателното в Java?

В програмата може да има различни типове променливи. Ако има променлива като int x=1; по-късно в програмата стойността на тази променлива може да бъде променена на друга стойност. Променлива, която е декларирана като окончателна и инициализирана със стойност, не може да бъде променена по-късно в програмата.

Разлика между static и final в Java_Figure 03
Разлика между static и final в Java_Figure 03

Фигура 03: Програма с крайна променлива и наследяване

Съгласно горната програма, x е крайна променлива. Присвоена му е стойност 5. Не може да бъде променена друга стойност, защото е декларирана като окончателна. Java поддържа обектно-ориентирано програмиране (OOP). Един стълб на ООП е полиморфизъм. Един вид полиморфизъм е преобладаващият. Клас А има метода на показване. Клас B разширява клас A и има свой собствен метод на показване. Когато създавате обект от тип B и извиквате метода за показване, ще отпечатате „B“като изход. Методът на показване от клас A се заменя от метода на показване на клас B.

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

Разлика между static и final в Java_Figure 04
Разлика между static и final в Java_Figure 04

Фигура 04: крайна ключова дума в метода

Друг стълб на ООП е наследяването. Помага повторното използване на вече съществуващия код. Новият клас може да се разшири от съществуващия клас и да използва членовете на данните и методите на съществуващия клас. Ако се изисква да спре наследяването на клас, програмистът може да използва ключовата дума „final“. Вижте програмата по-долу.

Ke3y Разлика между статичен и окончателен в Java
Ke3y Разлика между статичен и окончателен в Java

Фигура 05: крайна ключова дума в класа

Съгласно горната програма, клас А се обявява за окончателен. Когато клас B разширява A, той дава грешка, защото клас A е деклариран като окончателен. Не може да бъде наследен от други класове.

Каква е приликата между static и final в Java?

И статични, и окончателни са ключови думи в Java

Каква е разликата между static и final в Java?

статично срещу окончателно в Java

Статична ключова дума означава, че членска променлива или метод може да бъде достъпен, без да се изисква инстанциране на класа, към който принадлежи. Последната ключова дума обозначава обект, който може да бъде присвоен само веднъж.
Променливи
Стичните променливи могат да бъдат повторно инициализирани. Крайните променливи не могат да бъдат повторно инициализирани.
Методи
Може да се извиква от други статични методи и да има достъп само до статичните членове на класа. Последните методи не могат да бъдат отменени.
Клас
Статичният клас обект не може да бъде създаден. Съдържа само статични членове. Последният клас не може да бъде наследен от други класове.
Блокиране
Статичната ключова дума може да се използва в блок. Последната ключова дума не се използва с блок.

Резюме – статичен срещу окончателен в Java

Тази статия обсъжда две ключови думи в Java като static и final. Разликата между static и final в Java е, че static се използва за дефиниране на член на класа, който може да се използва независимо от всеки обект на класа, докато final се използва за деклариране на постоянна променлива или метод, който не може да бъде заменен, или клас, който не може се наследяват.

Препоръчано: