Disyorkan, 2022

Pilihan Editor

Perbezaan antara Akhir, Akhir dan Akhir di Jawa

Perkataan 'akhir, akhirnya, dan akhir' terletak di dalam konteks Jawa. Setiap satu daripada mereka disediakan fungsi yang berbeza. Perbezaan asas antara akhir, akhirnya, dan akhir adalah bahawa akhir adalah pengubah akses, akhirnya adalah blok dan dimuktamadkan adalah kaedah kelas objek. Terdapat beberapa perbezaan antara akhir, akhirnya, dan akhir yang dibincangkan dalam carta perbandingan.

Carta Perbandingan

Asas untuk PerbandinganAkhirAkhirnyaMemuktamadkan
AsasFinal adalah "Kata kunci" dan "pengubah akses akses" di Jawa.Akhirnya adalah "blok" di Jawa.Memuktamadkan adalah "kaedah" di Jawa.
BerkenaanFinal adalah kata kunci yang digunakan untuk kelas, pembolehubah dan kaedah.Akhirnya adalah satu blok yang selalu dikaitkan dengan cuba dan menangkap blok.finalize () adalah kaedah yang digunakan untuk objek.
Bekerja(1) Pembolehubah akhir menjadi malar, dan ia tidak boleh ditugaskan semula.
(2) Kaedah akhir tidak boleh ditindih oleh kelas kanak-kanak.
(3) Kelas Akhir tidak boleh dilanjutkan.
Blok "akhirnya", bersihkan sumber yang digunakan dalam blok "cuba".Muktamadkan kaedah melakukan membersihkan aktiviti yang berkaitan dengan objek sebelum kemusnahannya.
PelaksanaanKaedah akhir dilaksanakan semasa panggilannya."Akhirnya" blok dijalankan selepas pelaksanaan "cuba-catch" blok.muktamadkan () kaedah dilaksanakan sebelum pemusnahan objek.

Definisi Akhir

"Final" adalah kata kunci di Jawa. Ia adalah pengubahsuaian akses. Kata kunci "akhir" boleh digunakan untuk kelas, kaedah dan pembolehubah. Marilah kita melihat bagaimana ia berfungsi dengan masing-masing.

Pembolehubah Akhir

  • Apabila kata kunci akhir diterapkan pada pemboleh ubah, ia tidak dapat diubah lagi.
  • Pemboleh ubah akhir mesti diinisikan apabila diisytiharkan.
  • Dalam konvensyen pengekodan biasa, pembolehubah terakhir diisytiharkan dalam UPPERCASE.
  • Pembolehubah akhir tidak menduduki ingatan secara asas.
 int final FILE_OPEN = 2; 

Kaedah Akhir

  • Apabila suatu kaedah dalam kelas, diisytiharkan sebagai muktamad, ia tidak boleh ditindih oleh subkelasnya.
  • Kaedah-kaedah kecil yang diisytiharkan muktamad boleh dibuat "inline" oleh pengkompil yang akan mengurangkan overhead fungsi panggilan dan meningkatkan peningkatan prestasi.
  • Kaedah yang dipindahmasuk dipanggil, diselesaikan secara dinamik, tetapi apabila kaedah diisytiharkan sebagai muktamad, ia tidak dapat ditindih. Oleh itu, fungsi panggilan boleh diselesaikan pada waktu penyusunan.
 kelas A {final void meth () {System.out.println ("Ini adalah kaedah akhir."); }} kelas B memanjangkan A {void meth () {// Clas B tidak boleh mewarisi kaedah kelas A. System.out.println ("Tidak menimpa"); }} 

Kelas Akhir

  • Apabila kelas diisytiharkan sebagai muktamad, maka ia tidak boleh diwarisi oleh mana-mana subclass.
  • Mengisytiharkan kelas sebagai akhir akan secara automatik mengisytiharkan semua kaedah akhirnya.
  • Anda tidak boleh mengisytiharkan kelas sebagai "abstrak" dan "akhir".
 kelas akhir A {// ...} kelas B memanjangkan A {// Kelas B tidak boleh mewarisi kelas A // ...} 

Definisi Akhirnya

  • Di Jawa "akhirnya" adalah satu blok yang selalu dikaitkan dengan blok cuba / menangkap.
  • Blok "akhirnya" dilaksanakan selepas blok cuba / menangkap dan sebelum kod berikut cuba / menangkap blok.
  • Blok "akhirnya" akan melaksanakan sama ada pengecualian dilemparkan atau tidak.
  • Apabila pengecualian dilemparkan, dan tidak ada blok penangkapan yang sepadan dengan pengecualian itu, maka blok "akhirnya" dilaksanakan.
  • Apabila kaedah kembali kepada pemanggil dari dalam blok cuba / menangkap melalui pengecualian yang tidak disengajakan atau penyata kembali yang eksplisit, blok "akhirnya" akan dilaksanakan sebelum kaedah kembali kepada pemanggil.
  • Blok "akhirnya" digunakan untuk membersihkan sumber atau membebaskan memori yang digunakan dalam blok "cuba".
  • Blok "akhirnya" adalah pilihan, tetapi amalan yang baik untuk menulis akhirnya blok selepas blok cuba / menangkap.
 class FinallyExample {// Kaedah ini membuang pengecualian daripada kaedah. static void procA () {try {System.out.println ("inside procA"); buang RuntimeException baru ("demo"); } akhirnya {System.out.println ("akhirnya procA"); }} // Kembali dari dalam blok cuba. static void procB () {try {System.out.println ("inside procB"); kembali; } akhirnya {System.out.println ("akhirnya procB"); }} // Jalankan blok percubaan secara normal. static void procC () {try {System.out.println ("inside procC"); } akhirnya {System.out.println ("akhirnya procC"); }} public static void main (String args []) {try {procA (); } menangkap (Pengecualian e) {System.out.println ("Pengecualian ditangkap"); } procB (); procC (); }} / / output dalam procA ProcA akhirnya Pengecualian ditangkap di dalam procB procB akhirnya di procC procC akhirnya 

Definisi Memuktamadkan

  • Memuktamadkan adalah kaedah dalam kelas objek.
  • Objek mungkin memegang beberapa sumber bukan java seperti mengendalikan fail; maka ia mesti dibebaskan sebelum ia musnah.
  • Kaedah ini dipanggil oleh pemungut sampah sebelum ia memusnahkan objek sepenuhnya.
  • Kaedah ini melakukan aktiviti pembersihan untuk objek sebelum ia dimusnahkan.

Bentuk umum kaedah menyelesaikan () adalah sebagai berikut.

 tidak sah dilindungi () {// kod pemformalan di sini} 

Kaedah akhir dinyatakan sebagai dilindungi supaya tidak dapat diakses dari luar kelas.

Kaedah ini selalu dipanggil sebelum koleksi sampah.

Perbezaan Utama Antara Akhir, Akhirnya, dan Muktamad

  1. Akhir kata kunci adalah pengubahsuaian akses, akhirnya merupakan blok dan dimuktamadkan adalah satu kaedah.
  2. Akhir kata kunci boleh digunakan untuk kelas, pembolehubah dan kaedah kelas, akhirnya adalah blok yang berkaitan dengan blok tangkapan cuba yang digunakan untuk mengendalikan pengecualian, menyelesaikan adalah satu kaedah yang beroperasi hanya pada objek.
  3. Pembolehubah yang pernah diisytiharkan sebagai muktamad menjadi malar dan tidak dapat ditugaskan semula, kaedah yang diisytiharkan sebagai muktamad tidak dapat ditindih, dan kelas yang diisytiharkan sebagai muktamad tidak boleh diwarisi. Blok akhirnya digunakan untuk membersihkan sumber yang digunakan dengan mencuba dan menangkap blok. Kaedah akhir digunakan untuk membersihkan sumber yang digunakan oleh objek sebelum objek dimusnahkan.

Kesimpulan:

Akhir, akhirnya dan dimuktamadkan mempunyai kesan yang berbeza apabila digunakan pada kaedah.

Top