Tuesday, October 30, 2012

Final Java




Dalam Java, kata kunci final memiliki tiga buah fungsi, yaitu sebagai berikut :
  • Apabila digunakan untuk mendeklarasikan variabel, maka nilai dari variabel tersebut tidak dapat diubah atau diperankan sebagai sebuah konstanta.
  • Apabila digunakan untuk mendeklarasikan menthod, maka menthod tersebut sudah tidak dapat di-override atau diperbaruhi lagi oleh class-class turunannya.
  • Apabila digunakan untuk mendefinisikan class, maka class tersebut sudah tidak dapat diturunkan lagi menjadi class baru lainnya.
Apabila kita ingin mengunakan kata kunci final untuk mendeklarasikan suatu variabel sebagai konstanta, maka kita perlu mengisikan nilai kedalam variabel tersebut. Nilai tersebut akan bersifat tetap atau tidak dapat diubah selama eksekusi program berlangsung. Berikut ini bentuk umum dari pendeklarasian sebuah konstanta di dalam java.
tingkat-akses final tipe-data nama-konstanta = nilai;
Berikut ini beberapa contoh pendeklarasian sebuah konstanta :
final double P1 = 3.1416;
private final int ERROR = -1;
private final int BAHASA_INDONESIA = 0;
private final int BAHASA_INGRIS =1;
private final String JUDUL_MENU_FILE = "File";
private final String JUDUL_TOMBOL_KELUAR = "Exit";

Berikut ini contoh program yang akan menunjukkan penggunaan kata kunci final untuk mendeklarasikan sebuah konstanta.
class Stack {
  private final int MAX = 10;  // Mendeklarasikan konstanta MAX

  private int[] stack = new int[MAX];
  private int atas;

  // Constructor
  Stack() {
      atas = -1;
  }

  // Menyimpan nilai ke dalam stack
  void push(int nilai) {
    if (atas != 9) {
      stack[++atas] = nilai;
    } else {
      System.out.println("Stack penuh...");
    }
  }

  // Mengambil nilai dari dalam stack
  int pop() {
    if (atas >= 0) {
      return stack[atas--];
    } else {
      System.out.println("Stack masih kosong...");
      return 0;
    }
  }
}

class DemoFinal {       
   
  public static void main(String[] args) {
   
    Stack s = new Stack();
   
    // Memasukkan nilai-nilai ke dalam stack
    for (int i=1; i<=10; i++) {
        s.push(i * 10);
    }
   
    // Mengambil nilai-nilai yang terdapat di dalam stack
    for (int i=1; i<=10; i++) {
        System.out.println(s.pop());
    }
  }
}

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | coupon codes