1. Списък с думи
Както във всеки език за програмиране, Java има думи със специално meaning. Например returnor ifor while. Тези думи се наричат ключови думи ( ключови думи ) и се считат за запазени от езика Java.
Не можете да използвате тези думи като име на променлива, име на метод or име на клас. Компилаторът винаги ще ги интерпретира по строго определен начин. Има 54такива думи в Java.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вече знаете някои от тях, а за останалите ще говорим точно сега.
2. Примитивни типове
Както вероятно си спомняте, Java има 8 примитивни типа и всеки от тях има своя собствена ключова дума:
byteshortintlongcharfloatdoublebooleanvoid
Ако имате достатъчно любознателен ум, има голям шанс вече да сте опитали да наименувате променлива int. И разбира се не успяхте. Това е точно защото имената на всички примитивни типове са запазени думи.
Типът voidсъщо попада в тази категория.
3. Примки и разклонения
Циклите и разклоненията също ни дават доста дълъг списък от ключови думи:
ifelseswitchcasedefaultwhiledoforbreakcontinue
Само 10 думи са достатъчни, за да може езикът да предостави няколко вида цикли, разклонения и команди за управление за прекъсване на цикли ( breakи continue) и множество разклонения ( switch). Вече сте запознати с всички тези ключови думи.
4. Изключения
Изключенията ни дават 5 ключови думи:
trycatchfinallythrowthrows
Всички те са част от try-catch-finallyблок. Операторът за хвърляне на изключения е throw, а throwsключовата дума поддържа checkedмеханизма за изключения.
Добрата новина е, че вече сте запознати с всички ключови думи, свързани с изключения, така че вече сте запознати и с работата с изключения.
5. Видимост
Тук има само три ключови думи и вече сте запознати с тях.
privateprotectedpublic
publicпозволява достъп до метод/променлива/клас от всяка точка на програмата.
privateзабранява достъп до метод/променлива/клас от всяко място в програмата. Достъпът е разрешен само в рамките на същия клас като метод, маркиран с privateмодификатора.
protectedработи по същия начин като private, но също така позволява достъп до метод/променлива/клас от наследени класове. Ползите от този модификатор ще ви станат по-ясни, когато се запознаете с ООП и наследяването.
6. Работа с класове
Има 11 ключови думи в тази категория:
classinterfaceenumimportpackageextendsimplementsstaticfinalabstractdefault
Те могат да бъдат разделени на 4 групи.
Първата група се отнася до създаването на класове: class, interfaceи enum. Вече научихте за декларирането на класове и enums . Ключовата interfaceдума се използва за деклариране на още един класоподобен тип: интерфейси.
Втората група се състои от ключовите думи за пакет и импорт , с които вече сте запознати. Ключовата дума package се използва за указване на пакета на клас във файл на клас. И importтака можем да използваме кратки имена на външни класове, когато пишем наши собствени класове.
Ключовите думи extendsи implementsсе използват за наследяване. Ще ги разгледате в самото начало на търсенето на Java Core.
И накрая, последната група се състои от модификаторите static, final, defaultи abstract. Вече знаете малко за staticи final. Ключовата abstractдума се използва, за да направи клас or метод абстрактен. Ще получите повече подробности, когато изучавате наследството в мисията на Java Core.
7. Работа с обекти и променливи
Още шест ключови думи се използват при работа с обекти, методи и променливи.
newinstanceofthissuperreturnvar(от Java 10)
Операторът newсе използва за създаване на нови обекти - вече знаете това.
Операторът instanceofсе използва за проверка дали дадена променлива съдържа препратка към обект от определен тип. Вече сте запознати с него.
Ключовата thisдума се използва за решаване на проблеми, които възникват поради засенчване на променливи и методи на екземпляр. Вие също сте изучавали това.
Ключовата superдума е аналогична на this, но се използва за обозначаване на методите и променливите на родителския клас. Родителският клас се нарича още суперклас.
Инструкцията returnсе използва за връщане на стойността на метод, Howто и за прекратяване на изпълнението на метод.
И накрая, varе за деклариране на променлива, чийто тип се извежда автоматично. Вече сте запознати с това.
8. Многопоточност
На нивото на синтаксиса на Java многонишковостта се представя само с две думи.
synchronizedvolatile
Дори няма да ги докоснем. Преминете към търсенето на Java Multithreading и след това ще се потопим.
9. Разни
Има още 4 специални ключови думи:
nativetransientassertstrictfp
nativeе модификатор, който може да бъде написан преди декларация на метод. Това означава, че codeът на метода е написан не на Java, а на C++ и е вграден в Java машината (добре or DLL). Както вероятно вече се досещате, самата Java машина също е написана на C++. Точно като много от стандартните библиотечни методи.
transientе модификатор, който може да бъде написан преди променливи на екземпляр (полета на клас). Той изисква от Java машината да пропусне (or игнорира) маркираната променлива, докато сериализира обект от класа. Можете да научите повече за сериализацията в търсенето на Java Collections.
assertсъщо идва в Java от C++. С негова помощ можете да добавите допълнителни проверки към вашия code (например да проверите дали дадена променлива е нула). Важното тук е тези проверки да са активирани or деактивирани по време на компorране.
Можете да изградите проекта за вътрешно тестване и тези проверки ще бъдат извършени (включени в компилацията). Или можете да ги деактивирате по време на компилация, за да създадете versionта на програмата, която ще бъде предоставена на потребителите.
Що се отнася до strictfpключовата дума и допълнителната прецизност на процесорите на Intel, имаме цяла история за вас .
10. Запазени, но неизползвани
Има и две ключови думи, които са запазени, но не се използват.
constgoto
Те също са наследство от езика C++, където съществуват и се използват.
11. Не ключови думи
Формално константите true, falseи nullне са ключови думи. Въпреки това, всеки от тях има своите особености. Не можете да дадете име на метод trueor променлива false. Компилаторът няма да разбере такъв code и няма да го компorра.
GO TO FULL VERSION