Əsas Fərq – Java-da statik və final
Hər bir proqramlaşdırma dilinin xüsusi sintaksisi var. Proqramçı proqramlar yazarkən bu sintaksislərə əməl etməlidir. Proqramlaşdırma dillərinin açar sözləri tapşırıqlara uyğun olaraq xüsusi mənalara malikdir. Onlar proqramlaşdırma dili tərəfindən təmin edilir və istifadəçi tərəfindən müəyyən edilmiş dəyişənlər, metodlar, siniflər və s. üçün istifadə edilə bilməz. Statik və final Java-da iki açar sözdür. Bu məqalə Java-da statik və final arasındakı fərqdən bəhs edir. Java-da statik və final arasındakı əsas fərq ondan ibarətdir ki, statik, sinfin hər hansı bir obyektindən asılı olmayaraq istifadə edilə bilən sinif üzvünü müəyyən etmək üçün istifadə olunur, final isə sabit dəyişəni və ya ləğv edilə bilməyən bir metodu və ya bir sinfi elan etmək üçün istifadə olunur. miras qala bilməz.
Java-da statik nədir?
Sinif məlumat üzvlərindən (atributlarından) və metodlardan ibarətdir. Metodları çağırmaq üçün həmin xüsusi sinfin obyekti olmalıdır. Metod statik olaraq elan edildikdə, həmin metodu çağırmaq üçün obyekt yaratmağa ehtiyac yoxdur. Metod sinif adından istifadə etməklə çağırıla bilər. Aşağıdakı proqrama baxın.
Şəkil 01: Statik dəyişənlər və statik Metodlu Java Proqramı
Yuxarıdakı proqrama əsasən, sinif A rəqəm dəyişənini və göstərmə metodunu ehtiva edir. Hər ikisi statik üzvdür. Buna görə də, nömrə dəyişəninə və ekran metoduna daxil olmaq üçün obyekt yaratmaq lazım deyil. Proqramçı nömrəni çap etmək və metod ekranına zəng etmək üçün birbaşa sinif adını yaza bilər. Deməli, obyekti instantlaşdırmağa ehtiyac yoxdur. Əgər rəqəm dəyişəni və göstərmə üsulu qeyri-statikdirsə, onda A tipli obyekt olmalıdır.
Şəkil 02: Statik Blokdan İstifadə
Yuxarıdakı proqramda statik blok və əsas metod var. Statik blok sinif yükləndikdə çağırılır. Buna görə də statik blokdakı ifadə əsas blokdakı ifadədən əvvəl yerinə yetirilir. Çoxlu statik bloklar varsa, onlar ardıcıllıqla yerinə yetiriləcək.
Javada final nədir?
Proqramda müxtəlif növ dəyişənlər ola bilər. int x=1 kimi dəyişən varsa; daha sonra proqramda bu dəyişən dəyər başqa bir dəyərə dəyişdirilə bilər. Yekun elan edilən və dəyərlə işə salınan dəyişən proqramda sonra dəyişdirilə bilməz.
Şəkil 03: Son Dəyişən və Mirasla Proqram
Yuxarıdakı proqrama görə, x yekun dəyişəndir. Ona 5 dəyəri təyin olunub. O, yekun olaraq elan edildiyi üçün başqa bir dəyər dəyişdirilə bilməz. Java obyekt yönümlü proqramlaşdırmanı (OOP) dəstəkləyir. OOP-nin bir sütunu polimorfizmdir. Polimorfizmin bir növü üstünlük təşkil edir. A sinfi nümayiş metoduna malikdir. B sinfi A sinfini genişləndirir və onun özünün göstərmə üsulu var. B tipli bir obyekt yaratdıqda və ekran metodunu çağırarkən çıxış kimi “B” çap olunacaq. A sinifinin göstərmə üsulu B sinifinin göstərmə üsulu ilə əvəzlənib.
Əgər proqramçı metodu ləğv etməkdən çəkinməlidirsə, o, həmin metod üçün son açar sözündən istifadə edə bilər. A sinfində göstərmə metodu yekundursa, B-də göstərmə metodu xəta verəcək, çünki bu metodu ləğv etmək mümkün deyil.
Şəkil 04: Metodda son açar söz
OOP-un digər sütunu mirasdır. Bu, artıq mövcud kodun yenidən istifadəsinə kömək edir. Yeni sinif mövcud sinifdən uzada bilər və mövcud sinfin məlumat üzvlərindən və metodlarından istifadə edə bilər. Bir sinfin miras qalmasını dayandırmaq tələb olunarsa, proqramçı 'final' açar sözündən istifadə edə bilər. Aşağıdakı proqrama baxın.
Şəkil 05: Sinifdə son açar söz
Yuxarıdakı proqrama əsasən A sinfi yekun elan edilir. B sinfi A-nı genişləndirdikdə xəta verir, çünki A sinfi yekun elan edilir. O, digər siniflər tərəfindən miras alına bilməz.
Java-da statik və final arasındakı oxşarlıq nədir?
Həm statik, həm də final Java-da açar sözlərdir
Java-da statik və final arasındakı fərq nədir?
Java-da statik vs final |
|
Statik açar söz, üzv dəyişənin və ya metodun aid olduğu sinfin nümunəsini tələb etmədən əldə edilə biləcəyini bildirir. | Son açar söz yalnız bir dəfə təyin edilə bilən obyekti bildirir. |
Dəyişənlər | |
Statik dəyişənlər yenidən işə salına bilər. | Son dəyişənlər yenidən işə salına bilməz. |
Üsullar | |
Digər statik üsullarla çağırıla bilər və yalnız sinfin statik üzvlərinə daxil ola bilər. | Son üsullar ləğv edilə bilməz. |
Sinif | |
Statik sinif obyekti yaradıla bilməz. O, yalnız statik üzvlərdən ibarətdir. | Son sinif digər siniflərə miras qala bilməz. |
Blok | |
Statik açar söz blokda istifadə edilə bilər. | Son açar söz blokla istifadə edilmir. |
Xülasə – Java-da statik və final
Bu məqalə Java-da statik və yekun kimi iki açar sözü müzakirə etdi. Java-da statik və final arasındakı fərq ondan ibarətdir ki, statik, sinfin hər hansı bir obyektindən asılı olmayaraq istifadə edilə bilən sinif üzvünü müəyyən etmək üçün istifadə olunur, final isə sabit dəyişəni və ya ləğv edilə bilməyən bir metodu və ya bir sinfi elan etmək üçün istifadə olunur. miras alınsın.