Kata kunci final merupakan kata kunci yang dapat digunakan untuk menandai bahwa suatu atribut, metode atau kelas sudah final yang artinya tidak dapat diubah lagi. Untuk lebih jelasnya, dalam Java kata kunci final memiliki beberapa fungsi, yaitu :
- Apabila digunakan untuk mendeklarasikan variabel, maka nilai dari variabel tersebut tidak dapat diubah atau diperankan sebagai sebuah konstanta.
- Apabila digunakan untuk mendeklarasikan method, maka method tersebut sudah tidak dapat di override atau diperbaharui lagi oleh kelas kelas turunannya.
- Apabila digunakan untuk mendefenisikan kelas, maka kelas tersebut sudah tidak dapat diturunkan menjadi kelas baru lainnya.
Untuk contoh penggunaan kata kunci final kita dapat lihat pada kode berikut ini :
public class Stack{
private final int MAX = 11;
//kita menggunakan MAX sebagai contanta yang tidak akan mungkin bisa diubah private
int[] = new int[MAX];
private int index;
public Stack{
index = -1;
}
//Menyimpan nilai kedalam stack
public void push(int value){
if(index != 9){
stack[++index] = nilai;
}else{
System.out.println(“Stack penuh”);
}
}
//Mengambil nilai daris dalam stack
public int pop(){
if(index >= 0){
return stack[index--];
}else{
System.out.println(“Stack Kosong”);
return 0;
}
}
}
public class DemoFinal{
public static void main(String []args){
Stack s = new Stack();
//Memasukkan nilai nilai kedalam stack
for(int i=1;i<=10;i++){
s.push(i*10);
}
//Mengambil nilai nilai dari dalam stack
for(int i=1;i<=10;i++){
System.out.println(s.pop());
}
}
}