Perbedaan Kunci – statis vs final di Java
Setiap bahasa pemrograman memiliki sintaks tertentu. Pemrogram harus mengikuti sintaks ini saat menulis program. Kata kunci bahasa pemrograman memiliki arti khusus sesuai dengan tugasnya. Mereka disediakan oleh bahasa pemrograman dan tidak dapat digunakan untuk variabel yang ditentukan pengguna, metode, kelas, dll. Statis dan final adalah dua kata kunci di Java. Artikel ini membahas perbedaan antara statis dan final di Jawa. Perbedaan utama antara static dan final di Java adalah static digunakan untuk mendefinisikan anggota kelas yang dapat digunakan secara independen dari objek apa pun dari kelas sementara final digunakan untuk mendeklarasikan variabel konstan atau metode yang tidak dapat ditimpa atau kelas yang tidak dapat diwariskan.
Apa itu statis di Java?
Sebuah kelas terdiri dari anggota data (atribut) dan metode. Untuk memanggil metode, harus ada objek dari kelas tertentu. Ketika suatu metode dideklarasikan sebagai statis, tidak perlu membuat objek untuk memanggil metode itu. Metode ini dapat dipanggil menggunakan nama kelas. Lihat program di bawah ini.
Gambar 01: Program Java dengan variabel statis dan Metode statis
Menurut program di atas, kelas A berisi variabel angka dan metode tampilan. Keduanya adalah anggota statis. Oleh karena itu, tidak perlu membuat objek untuk mengakses variabel angka dan metode tampilan. Programmer dapat langsung menulis nama kelas untuk mencetak nomor dan memanggil tampilan metode. Jadi, tidak perlu membuat instance objek. Jika variabel angka dan metode tampilan tidak statis, maka harus ada objek bertipe A.
Gambar 02: Penggunaan Blok statis
Program di atas berisi blok statis dan metode utama. Blok statis dipanggil ketika kelas dimuat. Oleh karena itu, pernyataan di blok statis dijalankan sebelum pernyataan di blok utama. Jika ada banyak blok statis, mereka akan dieksekusi secara berurutan.
Apa yang final di Java?
Dalam program, ada berbagai jenis variabel. Jika ada variabel seperti int x=1; nanti di program, nilai variabel itu bisa diubah ke beberapa nilai lain. Variabel yang dideklarasikan sebagai final dan diinisialisasi dengan nilai tidak dapat diubah nanti dalam program.
Gambar 03: Program dengan Variabel dan Warisan akhir
Menurut program di atas, x adalah variabel final. Itu diberi nilai 5. Itu tidak dapat diubah beberapa nilai lain karena dinyatakan sebagai final. Java mendukung pemrograman berorientasi objek (OOP). Salah satu pilar OOP adalah polimorfisme. Salah satu jenis polimorfisme adalah overriding. Kelas A memiliki metode tampilan. Kelas B memperluas kelas A dan memiliki metode tampilan sendiri. Saat membuat objek tipe B dan memanggil metode tampilan akan mencetak "B" sebagai output. Metode tampilan kelas A diganti dengan metode tampilan kelas B.
Jika programmer harus menghindari override suatu metode, maka ia dapat menggunakan kata kunci terakhir untuk metode tersebut. Jika metode tampilan di kelas A sudah final, metode tampilan di B akan memberikan kesalahan karena metode tersebut tidak dapat ditimpa.
Gambar 04: kata kunci terakhir dalam Metode
Pilar lain dari OOP adalah pewarisan. Ini membantu untuk menggunakan kembali kode yang sudah ada. Kelas baru dapat diperluas dari kelas yang ada dan menggunakan anggota data dan metode dari kelas yang ada. Jika diperlukan untuk berhenti mewarisi kelas, programmer dapat menggunakan kata kunci 'final'. Lihat program di bawah ini.
Gambar 05: kata kunci terakhir di Kelas
Menurut program di atas, kelas A dinyatakan sebagai final. Ketika kelas B meng-extend A, memberikan error karena kelas A dideklarasikan sebagai final. Itu tidak bisa diwarisi oleh kelas lain.
Apa Persamaan Antara static dan final di Java?
Baik statis dan final adalah kata kunci di Java
Apa Perbedaan Antara static dan final di Java?
statis vs final di Java |
|
Kata kunci statis menunjukkan bahwa variabel anggota, atau metode, dapat diakses tanpa memerlukan instantiasi kelas tempatnya berada. | Kata kunci terakhir menunjukkan entitas yang hanya dapat ditetapkan satu kali. |
Variabel | |
Variabel statis dapat diinisialisasi ulang. | Variabel akhir tidak dapat diinisialisasi ulang. |
Metode | |
Dapat dipanggil dengan metode statis lain dan hanya mengakses anggota kelas statis. | Metode terakhir tidak dapat diganti. |
Kelas | |
Objek kelas statis tidak dapat dibuat. Ini hanya berisi anggota statis saja. | Kelas terakhir tidak dapat diwarisi oleh kelas lain. |
Blokir | |
Kata kunci static dapat digunakan dalam satu blok. | Kata kunci terakhir tidak digunakan dengan blok. |
Ringkasan – statis vs final di Java
Artikel ini membahas dua kata kunci di Java seperti statis dan final. Perbedaan antara static dan final di Java adalah static digunakan untuk mendefinisikan anggota kelas yang dapat digunakan secara independen dari objek kelas mana pun sedangkan final digunakan untuk mendeklarasikan variabel konstan atau metode yang tidak dapat ditimpa atau kelas yang tidak dapat diwarisi.