Yang Perlu Anda Ketahui Tentang Final, Terakhir dan Finalisasi di Java



Artikel tentang Final, Akhirnya, dan Finalisasi di Java ini akan memberi Anda daftar lengkap perbedaan antara kata kunci Final, Akhirnya, dan Finalisasi bersama dengan implementasi praktis.

Jika Anda memiliki pengalaman sebelumnya tentang , maka Anda mungkin telah memperhatikan bahwa pewawancara cenderung mengajukan pertanyaan rumit yang biasanya diambil dari konsep dasar. Salah satu pertanyaan yang paling sering ditanyakan adalah membedakan antara final, akhirnya dan final in . Melalui media artikel ini, saya akan menarik garis yang jelas antara final, akhirnya dan finalisasi di Java yang akan membantu Anda mendapatkan wawasan yang lebih baik.

Pada artikel ini saya akan membahas topik-topik berikut:





Jadi, mari kita mulai dengan kata kunci pertama di antara kata kunci final, terakhir dan selesaikan di Java.

Kata Kunci Akhir

Di Java, final adalah kata kunci yang juga dapat digunakan sebagai pengubah akses. Dengan kata lain, kata kunci terakhir digunakan untuk membatasi akses pengguna. Ini dapat digunakan dalam berbagai konteks seperti:



  1. Variabel Final
  2. Metode Akhir
  3. Kelas Akhir

Dengan masing-masing ini, kata kunci terakhir memiliki efek yang berbeda. Sekarang mari kita lihat bagaimana pengaruhnya terhadap masing-masing satu per satu.

1. Akhiran variabel

Kapanpun kata kunci terakhir masuk digunakan dengan variabel, field atau parameter. Artinya, setelah referensi diteruskan atau instantiation dilakukan maka nilainya tidak dapat diubah selama eksekusi program. Dalam kasus a tanpa ada nilai yang dideklarasikan sebagai final maka itu dikenal sebagai variabel final kosong / tidak diinisialisasi dan hanya dapat diinisialisasi melalui konstruktor.

Sekarang mari kita lihat contohnya.



public class A {int var1 = 123 // mendeklarasikan variabel final int var2 = 345 final int var3 // Mencoba menginisialisasi variabel final kosong var = 555 // Error A () {var1 = 111 // No Error var2 = 333 // Kesalahan Kompilasi // Inisialisasi variabel akhir kosong var3 = 444 // Tidak Ada Kesalahan} // meneruskan parameter akhir void avg (int param1, final int param2) {param1 = 2345 // Tidak Ada Kesalahan param2 = 1223 // Kesalahan Kompilasi} // mendeklarasikan bidang akhir void show () {final int fieldVal = 300000 fieldVal = 400000 // Error}}

Jadi, ini semua tentang bagaimana kata kunci terakhir memengaruhi variabel, sekarang mari kita lihat bagaimana metode dipengaruhi olehnya.

2. Metode Akhir

Di Java, setiap kali metode dideklarasikan sebagai final, itu tidak bisa oleh setiap kelas anak selama pelaksanaan program.

Mari kita lihat contohnya.

// METODE AKHIR kelas A {final void method_abc () {System.out.println ('Ini adalah metode Final dan tidak dapat diganti')} void method_xyz () {System.out.println ('Ini adalah metode normal dan bisa diganti ')}} kelas B extends A {void method_abc {// Compile Time Error} void method_xyz () {System.out.println (' Ini adalah metode yang diganti di kelas B ')}}

Sampai sekarang Anda telah melihat hasil dari mendeklarasikan variabel dan metode final, sekarang mari kita melangkah lebih jauh dan melihat apa yang terjadi ketika kelas dideklarasikan sebagai final di Java.

3. Kelas Akhir

Di Java, setiap kali kelas dideklarasikan sebagai final, itu tidak bisa . Ini karena, setelah kelas dideklarasikan sebagai final, semua anggota data dan metode yang terdapat di dalam kelas akan secara implisit dideklarasikan sebagai final. Selain itu, setelah kelas dideklarasikan sebagai final, ia tidak dapat lagi dideklarasikan sebagai abstrak. Dengan kata lain, kelas dapat berupa salah satu dari keduanya, final atau abstrak.

Mari kita lihat contohnya.

// FINAL CLASS final class A {// class body} class B extends A {// Compilation Error // class body}

Saya harap sekarang, Anda telah memahami dengan jelas cara kerja kata kunci terakhir. Jadi, sekarang mari kita lanjutkan dengan artikel ini di bagian final, akhirnya dan menyelesaikannya di Java untuk mengetahui peran kata kunci akhirnya.

Akhirnya Blokir

Di Jawa, akhirnya adalah blok opsional yang digunakan untuk file . Biasanya diawali dengan blok coba-tangkap. Terakhir, blok digunakan untuk mengeksekusi kode penting seperti pembersihan sumber daya atau membebaskan penggunaan memori, dll. Blok terakhir akan dieksekusi terlepas dari fakta apakah pengecualian ditangani atau tidak. Dengan demikian, membungkus kode pembersihan dalam blok akhirnya dianggap sebagai praktik yang baik. Anda juga dapat menggunakannya dengan blok percobaan tanpa perlu blok tangkapan apa pun bersamanya.

Sekarang mari kita lihat contoh yang sama.

kelas A {public static void main (String args []) {try {System.out.println ('Try Block') throw new Exception ()} catch (Exception e) {System.out.println ('Catch Block') } akhirnya {System.out.println ('Akhirnya Blokir')}}}

Sampai sekarang, saya sudah membahas kata kunci terakhir dan terakhir di Java. Sekarang mari kita menyoroti kata kunci terakhir di antara ketiganya yaitu, menyelesaikan kata kunci di Java.

Selesaikan Metode

Finalize adalah metode non-statis yang dilindungi yang didefinisikan di kelas Object dan dengan demikian tersedia untuk setiap dan semua objek di Java.Metode inidipanggil oleh pengumpul sampah sebelum sebuah objek benar-benar hancur.Terkadang,sebuah mungkin harus menyelesaikan beberapa tugas penting seperti menutup koneksi yang terbuka, membebaskan sumber daya, dll sebelum dihancurkan. Jika tugas-tugas ini tidak dilakukan, dapat menurunkan efisiensi program. Jadi,pengumpul sampah memanggilnya untuk objek yang sudah tidak dirujuk lagi dan telah ditandai untuk pengumpulan sampah.

Metode ini dideklarasikan sebagai dilindungi untuk membatasi penggunaannya dari luar kelas. Tapi Anda bisa menimpanya dari dalam kelas untuk menentukan propertinya pada saat pengumpulan sampah.

sinkronisasi utas dalam contoh java

Mari kita lihat contoh yang sama.

publik kelas A {public void finalize () melempar Throwable {System.out.println ('Objek dihancurkan oleh Sampah Kolektor')} public static void main (String [] args) {Edureka test = new Edureka () test = null System.gc ()}}

Dengan ini, kita sampai pada akhir artikel ini tentang final, akhirnya dan difinalisasi di Java. Untuk menyimpulkan ini, saya telah menambahkan perbandingan antara ketiga kata kunci yang akan membantu Anda dalam melihat perbedaan utama secara sekilas.

Tabel Perbandingan - Final vs Terakhir vs Finalisasi Kata Kunci di Java

Faktor Terakhir Akhirnya Menyelesaikan
Definisi Final adalah kata kunci dan digunakan sebagai pengubah akses di JavaTerakhir adalah blok di Java yang digunakan untuk Penanganan PengecualianFinalisasi adalah metode di Jawa yang digunakan untuk Pengumpulan Sampah
Aplikasi Final di Java digunakan dengan variabel, metode, dan kelas untuk mengatur izin aksesAkhirnya blok digunakan bersama dengan blok coba dan tangkapMetode finalisasi di Java digunakan dengan objek yang tidak lagi digunakan
Fungsi Variabel final di Java adalah konstanta yang nilainya tidak dapat diubah setelah ditetapkan.

Metode terakhir di Java tidak dapat diganti oleh kelas anaknya.

Kelas terakhir di Java tidak dapat diwarisi oleh kelas turunan mana pun.

Terakhir, blok di Java membantu membersihkan sumber daya yang telah digunakan di blok percobaanMetode finalize membantu aktivitas pembersihan objek sebelum dihancurkan oleh pengumpul sampah
Eksekusi Ini dijalankan ketika dipanggil oleh kompilerDijalankan tepat setelah eksekusi blok coba-tangkapIni dijalankan tepat sebelum objek dihancurkan

Saya berharap melalui Final ini, Akhirnya dan Finalisasi di Java, saya dapat menjernihkan konsep dan membantu Anda dalam menambah nilai pada pengetahuan Anda.

Jika Anda menemukan artikel ini di “Final, Akhirnya dan Finalisasi di Java 'Relevan, lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar ini Final, Akhirnya dan Finalisasi di Java dan kami akan menghubungi Anda kembali.