Perbezaan antara akhir dan statik
- 566
- 166
- Brandon Haag
Dalam matematik dan sains, pemalar adalah istilah yang menandakan nilai tertentu seperti 'π' yang merupakan nama praktikal untuk nombor 3.14159. Java mempunyai pemalar jenisnya. Ini adalah pembolehubah yang di bawah (a) tidak tergolong dalam sebarang objek dan sub (b) tidak mengubah nilai mereka setelah ditetapkan. Kata statik dalam perisytiharan pembolehubah menunjukkan bahawa pembolehubah tidak tergolong dalam objek. Terdapat kata kunci yang sama yang mengatakan bahawa nilai pembolehubah hanya akan ditetapkan sekali dan tidak akan berubah. Ini adalah final kata kunci. Kata kunci ini tidak terhad kepada pembolehubah statik tetapi boleh digunakan dengan pembolehubah contoh, pembolehubah tempatan, dan juga dengan pembolehubah yang merupakan kaedah parameter. Dengan mengisytiharkan pemboleh ubah sebagai akhir, anda menunjukkan kepada semua orang bahawa pembolehubah semasa kewujudan akan mempunyai nilai yang sama. Lebih penting lagi, pengkompil akan mengesan setiap percubaan untuk mengubah nilai pemboleh ubah yang diisytiharkan dan melaporkannya sebagai kesilapan. Bagi terminologi Java, pemboleh ubah yang diisytiharkan sebagai statik dan akhir dipanggil tetap.
Apa yang muktamad?
Pengubahsuaian akhir boleh digunakan di beberapa tempat dalam bahasa pengaturcaraan Java. Di sini kita akan meliputi penggunaannya yang paling biasa. Pengubahsuaian akhir boleh digunakan untuk pengisytiharan pembolehubah tempatan, hujah fungsi, dan pembolehubah ahli bukan statik atau statik. Dalam konteks ini, pengubah pemboleh ubah berubah menjadi malar. Penerjemah Bahasa Terjemahan akan memeriksa sama ada beberapa kod cuba mengubah suai nilai, dan percubaan tersebut akan ditandakan sebagai ralat. Inilah contoh.
nilai int akhir = 17;
Pembolehubah ahli statik dengan pengubah ini digunakan sebagai pemalar global; Contohnya, di Java.lang.Pembolehubah matematik pi, ia dinyatakan dengan tepat
Pi Double Statik Awam Pi = 3.14159265358979323846;
Kita boleh menggunakan pengubah terakhir untuk pengisytiharan fungsi. Fungsi yang ditandai dengan final tidak lagi dapat ditolak - itu adalah pelaksanaan terakhirnya. Kaedah abstrak tidak boleh diisytiharkan muktamad - hakikat bahawa mereka adalah abstrak bermakna mereka kekurangan pelaksanaan; pastinya tidak boleh menjadi keadaan utama mereka. Inilah contoh.
intersfife int) )
pulangan 42;
Kita boleh memohon pengubah terakhir untuk pengisytiharan kelas. Kelas yang ditandai dengan final tidak lagi dapat mewarisi - itu adalah pelaksanaan terakhirnya. Jelas, kelas abstrak tidak boleh muktamad pada masa yang sama. Inilah contohnya
Kelas akhir awam ditutup
// ..
Salah satu contoh kelas terhingga ialah Java.lang.Kelas String - ia adalah terhingga sehingga tidak ada yang dapat mewarisi dan dengan itu mendapat akses kepada pembolehubah anggotanya.
Apa itu statik?
Pembolehubah statik tidak tergolong dalam contoh kelas tertentu. Pembolehubah statik tergolong dalam kelas itu sendiri dan dalam ingatan hanya ada satu lokasi, tanpa mengira bilangan salinan kelas yang dicipta dalam ingatan. Pembolehubah bukan statik tergolong dalam spesimen kelas - setiap contoh kelas mempunyai salinan pembolehubah tersebut sendiri. Pembolehubah statik tergolong dalam kelas - kelas dalam ingatan menyimpan nilai -nilai pembolehubah tersebut; Oleh itu, semua kelas sampel melihat kandungan yang sama supaya kita dapat mempertimbangkan pembolehubah statik untuk dikongsi antara semua saiz kelas. Dengan mengemas kini pemboleh ubah nilai, nilai baru akan dapat dilihat secara automatik untuk semua contoh kelas itu. Penapis statik boleh digunakan untuk mana -mana elemen yang diisytiharkan secara sah dalam kelas. Dalam hal pembolehubah keahlian, akibatnya adalah bahawa pembolehubah anggota tersebut akan disimpan dalam ingatan hanya di satu tempat. Apa yang berlaku jika ia adalah kaedah? Dengan mengisytiharkan kaedah sebagai statik, mesej itu sama: kaedah yang berkaitan tidak tergolong dalam kelas kelas tetapi ke kelas itu sendiri. Oleh itu, kaedah statik tidak akan menerima rujukan tersembunyi terhadap objek yang dipanggil pada panggilan; Dalam kaedah rujukan statik ini tidak tersedia. Sesungguhnya, menggunakan kaedah statik di seluruh objek sama -sama mengelirukan sebagai mengakses pembolehubah ahli statik dengan merujuk kepada rujukan ini: Dalam kedua -dua kes, lebih baik untuk hanya menulis nama kelas, titik, dan nama kaedah panggilan.
Perbezaan antara akhir dan statik
-
Pembolehubah
Statik bermaksud pemboleh ubah yang biasa bagi semua objek yang meneliti kelas tertentu sementara akhir mentakrifkan pemalar.
-
Kaedah
Statik adalah kaedah yang sama untuk setiap kelas yang diberikan kelas - juga dipanggil ahli kelas e.g. ini adalah kaedah utama. Kaedah akhir tidak dapat diproses di kelas yang diwarisi.
-
Kelas
Perlawanan akhir tidak dapat diperluas i.e. tidak membenarkan subkelas. Statik tidak terpakai kepada kelas.
-
Nilai
Untuk meletakkannya dengan mudah, akhir menunjukkan bahawa nilai tidak dapat diubah (menimpa). Nilai statik ditetapkan pada nilai lalai, tetapi boleh diubah semula.
Akhir vs. Statik: Carta Perbandingan
Ringkasan akhir dan statik
- Statik kerja utama menyediakan akses walaupun tidak ada objek (contoh). Kelas terkemuka diisytiharkan melalui kata kunci statik. Sekiranya anda tidak mahu nilai beberapa perubahan kemudian dalam program untuk pergi, atau jika anda mahu pengkompil untuk memeriksa dan melarang, anda boleh menukar janji itu ke final. Terdapat blok statik untuk permulaan. Blok statik untuk permulaan diisytiharkan sebagai statik utama di hadapan kurungan. Blok jenis ini dilakukan sekali, semasa membaca kelas, dan biasanya memulakan ahli statik kelas.