Негізгі айырмашылық – Java тіліндегі статикалық пен финал
Әр бағдарламалау тілінде белгілі бір синтаксис бар. Бағдарламаларды жазу кезінде бағдарламашы осы синтаксистерді сақтауы керек. Бағдарламалау тілдерінің түйінді сөздері тапсырмаларға сәйкес нақты мағыналарға ие. Олар бағдарламалау тілімен қамтамасыз етілген және пайдаланушы анықтайтын айнымалылар, әдістер, сыныптар және т.б. үшін пайдаланыла алмайды. Статикалық және соңғы Java тіліндегі екі кілт сөз. Бұл мақалада Java тіліндегі статикалық және соңғы арасындағы айырмашылық талқыланады. Java-дағы статикалық және соңғы арасындағы негізгі айырмашылық мынада: статикалық класстың кез келген объектісінен тәуелсіз пайдалануға болатын сынып мүшесін анықтау үшін пайдаланылады, ал финал тұрақты айнымалыны немесе қайта анықталмайтын әдісті немесе сыныпты жариялау үшін қолданылады. тұқым қуалауы мүмкін емес.
Java тіліндегі статикалық деген не?
Клас деректер мүшелерінен (атрибуттардан) және әдістерден тұрады. Әдістерді шақыру үшін сол нақты сыныптың объектісі болуы керек. Әдіс статикалық деп жарияланған кезде, бұл әдісті шақыру үшін нысан жасау қажет емес. Әдісті сынып атауы арқылы шақыруға болады. Төмендегі бағдарламаны қараңыз.

01-сурет: статикалық айнымалылар мен статикалық әдісі бар Java бағдарламасы
Жоғарыдағы бағдарламаға сәйкес, А класында санның айнымалысы және көрсету әдісі бар. Екеуі де статикалық мүшелер. Сондықтан сандық айнымалыға және көрсету әдісіне қол жеткізу үшін объект құру қажет емес. Бағдарламашы нөмірді басып шығару және әдіс дисплейін шақыру үшін сынып атын тікелей жаза алады. Сонымен, нысанды құрудың қажеті жоқ. Сан айнымалысы және көрсету әдісі статикалық емес болса, онда A түріндегі нысан болуы керек.

02-сурет: статикалық блокты пайдалану
Жоғарыдағы бағдарлама статикалық блокты және негізгі әдісті қамтиды. Статикалық блок класс жүктелген кезде шақырылады. Сондықтан статикалық блоктағы оператор негізгі блоктағы оператордың алдында орындалады. Егер статикалық блоктар көп болса, олар ретімен орындалады.
Java тіліндегі соңғы деген не?
Бағдарламада әртүрлі түрдегі айнымалылар болуы мүмкін. Егер int x=1 сияқты айнымалы болса; кейінірек бағдарламада бұл айнымалы мәнді басқа мәнге өзгертуге болады. Түпкілікті деп жарияланған және мәнмен инициализацияланған айнымалыны кейінірек бағдарламада өзгерту мүмкін емес.

03-сурет: соңғы айнымалысы және мұрагерлігі бар бағдарлама
Жоғарыдағы бағдарламаға сәйкес x соңғы айнымалы болып табылады. Оған 5 мәні тағайындалды. Оны басқа мәнді өзгерту мүмкін емес, себебі ол түпкілікті деп жарияланған. Java нысанға бағытталған бағдарламалауды (OOP) қолдайды. OOP бір тірегі полиморфизм болып табылады. Полиморфизмнің бір түрі басым болып табылады. А класында көрсету әдісі бар. В класы А класын кеңейтеді және оның өзіндік көрсету әдісі бар. В типті нысанды жасау және көрсету әдісін шақыру кезінде шығыс ретінде «B» басып шығарылады. А сыныбының көрсету әдісі B сыныбының көрсету әдісімен қайта анықталған.
Егер бағдарламашы әдісті қайта анықтаудан аулақ болу керек болса, ол осы әдіс үшін соңғы кілт сөзін пайдалана алады. Егер А класындағы көрсету әдісі түпкілікті болса, В жүйесіндегі көрсету әдісі қате береді, себебі бұл әдісті қайта анықтау мүмкін емес.

04-сурет: әдістегі соңғы кілт сөз
OOP-тың тағы бір тірегі – мұрагерлік. Ол бұрыннан бар кодты қайта пайдалануға көмектеседі. Жаңа класс бұрыннан бар сыныптан кеңейіп, бар сыныптың деректер мүшелері мен әдістерін пайдалана алады. Егер сыныпты мұрагер етуді тоқтату қажет болса, бағдарламашы 'final' кілт сөзін пайдалана алады. Төмендегі бағдарламаны қараңыз.

05-сурет: сыныптағы соңғы кілтсөз
Жоғарыда аталған бағдарламаға сәйкес А сыныбы соңғы болып жарияланды. B сыныбы А кеңейтілгенде, ол қате береді, себебі А сыныбы түпкілікті деп жарияланады. Оны басқа сыныптар мұра ете алмайды.
Java тіліндегі статикалық және финалдың қандай ұқсастығы бар?
Статикалық және соңғы екеуі де Java тіліндегі кілт сөздер
Java тіліндегі статикалық және финалдың айырмашылығы неде?
статикалық және Java тіліндегі финал |
|
Статикалық кілтсөз мүше айнымалыға немесе әдіске ол жататын сыныптың данасын талап етпей қатынасуға болатынын білдіреді. | Қорытынды кілт сөз тек бір рет тағайындалатын нысанды білдіреді. |
Айнымалылар | |
Статикалық айнымалыларды қайта инициализациялауға болады. | Соңғы айнымалы мәндерді қайта инициализациялау мүмкін емес. |
Әдістер | |
Басқа статикалық әдістермен шақыруға болады және тек сыныптың статикалық мүшелеріне қол жеткізуге болады. | Соңғы әдістерді қайта анықтау мүмкін емес. |
Сынып | |
Статикалық сынып нысанын жасау мүмкін емес. Онда тек статикалық мүшелер ғана бар. | Қорытынды сыныпты басқа сыныптар мұра ете алмайды. |
Блок | |
Статикалық кілт сөзді блокта пайдалануға болады. | Соңғы кілт сөз блокпен бірге пайдаланылмайды. |
Қорытынды – Java тіліндегі статикалық және финал
Бұл мақалада Java тіліндегі статикалық және соңғы сияқты екі кілт сөз талқыланды. Java тіліндегі static және final арасындағы айырмашылық мынада: static класстың кез келген объектісінен тәуелсіз пайдалануға болатын сынып мүшесін анықтау үшін пайдаланылады, ал финал тұрақты айнымалыны немесе қайта анықталмайтын әдісті немесе классты жариялау үшін қолданылады. мұрагер болуы.