Всеки език за програмиране има специфичен синтаксис. Програмистът трябва да следва тези синтаксиси, когато пише програми. Ключовите думи на езиците за програмиране имат специфични значения според задачите. Те се предоставят от езика за програмиране и не могат да се използват за дефинирани от потребителя променливи, методи, класове, и т.н. статичните и крайните са две ключови думи в Java. Тази статия обсъжда разликата между статичното и крайното в Java. Най- ключова разлика между статичното и крайното в Java е това static се използва за дефиниране на члена на класа, който може да се използва независимо от всеки обект от класа, докато final се използва за деклариране на постоянна променлива или метод, който не може да бъде отменен или клас, който не може да бъде наследен.
1. Преглед и ключова разлика
2. Какво е статично в Java
3. Какво е окончателно в Java
4. Прилики между статичното и крайното в Java
5. Паралелно сравнение - статично спрямо крайно в Java в таблична форма
6. Резюме
Класът се състои от членове на данни (атрибути) и методи. За да се извикат методите, трябва да има обект от този специфичен клас. Когато метод е деклариран като статичен, не е необходимо да се създава обект, който да извика този метод. Методът може да бъде извикан с помощта на името на класа. Вижте по-долу програмата.
Фигура 01: Програма на Java със статични променливи и статичен метод
Според горната програма, клас A съдържа числова променлива и метод на показване. И двамата са статични членове. Следователно не е необходимо да се създава обект за достъп до променливата на номера и метод на показване. Програмистът може директно да напише името на класа, за да отпечата номера и да извика дисплея на метода. Така че, няма нужда от инстанциране на даден обект. Ако числовата променлива и методът на показване са нестатични, тогава трябва да има обект от тип A.
Фигура 02: Използване на статичен блок
Горната програма съдържа статичния блок и основния метод. Статичният блок се извиква при зареждане на класа. Следователно операцията в статичния блок се изпълнява преди оператора в основния блок. Ако има много статични блокове, те ще се изпълняват последователно.
В програмата може да има променливи от различни видове. Ако има променлива като int x = 1; по-късно в програмата тази променлива стойност може да бъде променена на някаква друга стойност. Променлива, която е декларирана като крайна и инициализирана със стойност, не може да бъде променена по-късно в програмата.
Фигура 03: Програма с окончателна променлива и наследствена
Според горната програма x е крайна променлива. Присвоена му е стойност 5. Не може да бъде променена някаква друга стойност, тъй като е обявена за крайна. Java поддържа обектно-ориентирано програмиране (OOP). Един стълб на OOP е полиморфизъм. Един вид полиморфизъм е преобладаващ. Клас А има метод на показване. Клас В разширява клас А и има свой собствен метод на показване. При създаване на обект от тип B и извикване на метода на дисплея ще се отпечата “B” като изход. Методът на показване на клас A се отменя от метода за показване на клас B.
Ако програмистът какво да избягва отменянето на метод, той може да използва крайната ключова дума за този метод. Ако методът на показване в клас A е окончателен, методът на показване в B ще даде грешка, тъй като този метод не може да бъде отменен.
Фигура 04: последна ключова дума в метода
Друг стълб на ООП е наследството. Помага за повторно използване на вече съществуващия код. Новият клас може да се простира от съществуващия клас и да използва членовете на данните и методите на съществуващия клас. Ако е необходимо да спрете наследяването на клас, програмистът може да използва ключовата дума 'окончателен'. Вижте по-долу програмата.
Фигура 05: последна ключова дума в класа
Според горната програма, клас А е обявен за окончателен. Когато клас B разширява A, той дава грешка, защото клас A е обявен за окончателен. Не може да бъде наследено от други класове.
static vs final в Java | |
Статичната ключова дума обозначава, че променлива или метод на член може да бъде достъпна, без да се изисква инстанция на класа, към който принадлежи. | Крайната ключова дума обозначава образувание, което може да бъде присвоено само веднъж. |
Променливи | |
Статичните променливи могат да бъдат реинициализирани. | Крайните променливи не могат да се реинициализират. |
методи | |
Може да бъде извикан чрез други статични методи и достъп само до статичните членове на класа. | Окончателните методи не могат да бъдат отменени. |
клас | |
Обектът на статичния клас не може да бъде създаден. Той съдържа само статични членове. | Крайният клас не може да бъде наследен от други класове. |
блок | |
Статичната ключова дума може да се използва в блок. | Крайната ключова дума не се използва с блок. |
Тази статия обсъжда две ключови думи в Java като статична и финална. Разликата между статичното и крайното в Java е, че статичното се използва за дефиниране на члена на класа, който може да се използва независимо от всеки обект от класа, докато final се използва за деклариране на постоянна променлива или метод, който не може да бъде отменен или клас, който не може да бъде наследен.
1.Какво е статична ключова дума в Java | статичен метод и статична променлива, Телуско Учения, 6 март 2015. Достъпно тук
2.7.16 Как да използвате статичен блок в урока за Java, Телуско обучение, 30 април 2015 г. Достъпно тук
3.8.13 Как да използвате окончателната ключова дума в Java | Метод, клас и променлива, Телуско Учения, 26 февруари 2015 г. Достъпно тук