Негизги айырма – Javaдагы статикалык менен финал
Ар бир программалоо тилинин белгилүү синтаксиси бар. Программист программаларды жазууда ушул синтаксистерди сакташы керек. Программалоо тилдеринин ачкыч сөздөрү милдеттерге ылайык конкреттүү мааниге ээ. Алар программалоо тили тарабынан берилген жана колдонуучу аныктаган өзгөрмөлөр, методдор, класстар ж.б. үчүн колдонулушу мүмкүн эмес. Статикалык жана жыйынтыктоочу бул Java тилиндеги эки ачкыч сөз. Бул макалада Javaдагы статикалык жана акыркы ортосундагы айырма талкууланат. Javaдагы статикалык менен финалдын ортосундагы негизги айырма, статик класстын каалаган объектисинен көз карандысыз колдонула турган класстын мүчөсүн аныктоо үчүн колдонулат, ал эми финал туруктуу өзгөрмөнү же жокко чыгарууга болбой турган ыкманы же классты жарыялоо үчүн колдонулат. мурастоого болбойт.
Java'да статикалык деген эмне?
Клас маалымат мүчөлөрүнөн (атрибуттарынан) жана методдорунан турат. Методдорду чакыруу үчүн ошол конкреттүү класстын объектиси болушу керек. Метод статикалык деп жарыяланганда, ал методду чакыруу үчүн объектти түзүүнүн кереги жок. Метод класстын атын колдонуу менен чакырылышы мүмкүн. Төмөнкү программаны караңыз.

01-сүрөт: Статикалык өзгөрмөлөр жана статикалык методу бар Java программасы
Жогорудагы программага ылайык, класс А сан өзгөрмөсүн жана дисплей ыкмасын камтыйт. Экөө тең статикалык мүчөлөр. Демек, сан өзгөрмөсүнө жана дисплей ыкмасына жетүү үчүн объектти түзүү зарыл эмес. Программист номерди басып чыгаруу жана метод дисплейин чакыруу үчүн класстын атын түздөн-түз жаза алат. Демек, объектти инстанциялоонун кереги жок. Эгерде сан өзгөрмө жана дисплей ыкмасы статикалык эмес болсо, анда A түрүндөгү объект болушу керек.

02-сүрөт: Статикалык блокту колдонуу
Жогорудагы программа статикалык блокту жана негизги ыкманы камтыйт. Статикалык блок класс жүктөлгөндө чакырылат. Демек, статикалык блоктогу оператор негизги блоктогу оператордон мурда аткарылат. Эгерде статикалык блоктор көп болсо, алар ырааттуу түрдө аткарылат.
Java'да акыркы деген эмне?
Программада ар кандай түрдөгү өзгөрмөлөр болушу мүмкүн. Эгерде int x=1 сыяктуу өзгөрмө болсо; кийинчерээк программада, ал өзгөрмө мааниси башка мааниге өзгөртүлүшү мүмкүн. Акыркы деп жарыяланган жана маани менен инициализацияланган өзгөрмөнү кийинчерээк программада өзгөртүүгө болбойт.

03-сүрөт: Акыркы өзгөрмөлүү программа жана мурас
Жогорудагы программага ылайык, x акыркы өзгөрмө. Ага 5 мааниси ыйгарылган. Аны башка мааниге өзгөртүүгө болбойт, анткени ал акыркы деп жарыяланган. Java объектиге багытталган программалоону (OOP) колдойт. OOP бир мамы полиморфизм болуп саналат. Полиморфизмдин бир түрү басымдуулук кылат. А классында дисплей ыкмасы бар. В классы А классын кеңейтет жана анын өзүнүн көрсөтүү ыкмасы бар. В тибиндеги объектти түзүүдө жана дисплей ыкмасын чакырууда “В” чыгаруу чыгарылат. А классынын дисплей ыкмасы B классынын дисплей ыкмасы менен жокко чыгарылган.
Эгер программист кандайдыр бир ыкманы жокко чыгарбоо керек болсо, анда ал ошол ыкма үчүн акыркы ачкыч сөзүн колдоно алат. Эгерде А классындагы дисплей ыкмасы акыркы болсо, В дисплей ыкмасы ката берет, анткени ал ыкманы жокко чыгарууга болбойт.

04-сүрөт: Методдогу акыркы ачкыч
ООПтун дагы бир түркүгү – мурас. Бул мурунтан эле бар кодду кайра колдонууга жардам берет. Жаңы класс учурдагы класстан кеңейтилип, учурдагы класстын маалымат мүчөлөрүн жана ыкмаларын колдоно алат. Эгер классты мурастоону токтотуу талап кылынса, программист 'final' ачкыч сөзүн колдоно алат. Төмөнкү программаны караңыз.

05-сүрөт: Класстын акыркы ачкыч сөзү
Жогорудагы программага ылайык, А классы акыркы деп жарыяланган. В классы А кеңейтилгенде, ал ката берет, анткени А классы акыркы деп жарыяланган. Аны башка класстар мурастай албайт.
Javaдагы статикалык менен финалдын кандай окшоштугу бар?
Статикалык да, акыркы да Java тилиндеги ачкыч сөздөр
Javaдагы статикалык менен финалдын ортосунда кандай айырма бар?
статикалык vs Java'дагы финал |
|
Статикалык ачкыч сөз мүчө өзгөрмөгө же ыкмага ал таандык болгон класстын инстанциясын талап кылбастан кирүүгө болорун билдирет. | Акыркы ачкыч сөз бир гана жолу дайындала турган объектти билдирет. |
Өзгөрмөлөр | |
Статикалык өзгөрмөлөрдү кайра баштаса болот. | Акыркы өзгөрмөлөрдү кайра баштоо мүмкүн эмес. |
Усулдар | |
Башка статикалык ыкмалар менен чакырып, класстын статикалык мүчөлөрүнө гана кире алат. | Акыркы ыкмаларды жокко чыгарууга болбойт. |
Класс | |
Статикалык класс объектисин түзүү мүмкүн эмес. Ал статикалык мүчөлөрдү гана камтыйт. | Акыркы класс башка класстарга мурасталышы мүмкүн эмес. |
Блок | |
Статикалык ачкыч сөздү блокто колдонсо болот. | Акыркы ачкыч сөз блокто колдонулбайт. |
Корытынды – Java тилиндеги статикалык жана финал
Бул макалада Java тилиндеги статикалык жана акыркы сыяктуу эки ачкыч сөз талкууланды. Javaдагы статикалык менен финалдын айырмасы, статик класстын кандайдыр бир объектисинен көз карандысыз колдонула турган класс мүчөсүн аныктоо үчүн колдонулат, ал эми финал туруктуу өзгөрмөнү же жокко чыгарууга болбой турган ыкманы же классты жарыялоо үчүн колдонулат. мураска ээ болуу.