Statis di Jawa:
Statis adalah Pengubah Akses Non. Kata kunci statis milik kelas daripada instance kelas. dapat digunakan untuk melampirkan Variabel atau Metode ke Kelas.
Kata kunci statis BISA digunakan dengan:
metode
Variabel
Kelas bersarang di dalam Kelas lain
Blok Inisialisasi
TIDAK BISA digunakan dengan:
Kelas (tidak bersarang)
Konstruktor
Antarmuka
Metode Kelas Batin Lokal (Perbedaan lalu kelas bersarang)
Metode Kelas Batin
Variabel Instance
Variabel Lokal
Contoh:
Bayangkan contoh berikut yang memiliki jumlah instance bernama variabel yang ditambahkan dalam konstruktor:
package pkg;
class StaticExample {
int count = 0;// will get memory when instance is created
StaticExample() {
count++;
System.out.println(count);
}
public static void main(String args[]) {
StaticExample c1 = new StaticExample();
StaticExample c2 = new StaticExample();
StaticExample c3 = new StaticExample();
}
}
Keluaran:
1 1 1
Karena variabel instan mendapatkan memori pada saat pembuatan objek, masing-masing objek akan memiliki salinan variabel instan, jika ditambahkan, itu tidak akan mencerminkan ke objek lain.
Sekarang jika kita mengubah jumlah variabel instance menjadi yang statis maka program akan menghasilkan output yang berbeda:
package pkg;
class StaticExample {
static int count = 0;// will get memory when instance is created
StaticExample() {
count++;
System.out.println(count);
}
public static void main(String args[]) {
StaticExample c1 = new StaticExample();
StaticExample c2 = new StaticExample();
StaticExample c3 = new StaticExample();
}
}
Keluaran:
1 2 3
Dalam hal ini variabel statis akan mendapatkan memori hanya sekali, jika ada objek yang mengubah nilai variabel statis, ia akan mempertahankan nilainya.
Statis dengan Final:
Variabel global yang dinyatakan sebagai final dan statis tetap tidak berubah untuk seluruh eksekusi. Karena, anggota statis disimpan dalam memori kelas dan mereka dimuat hanya sekali dalam seluruh eksekusi. Mereka umum untuk semua objek kelas. Jika Anda mendeklarasikan variabel statis sebagai final, salah satu objek tidak dapat mengubah nilainya karena final. Oleh karena itu, variabel yang dinyatakan sebagai final dan statis kadang-kadang disebut sebagai Konstanta. Semua bidang antarmuka disebut konstanta, karena bersifat final dan statis secara default.
Sumber Daya Gambar: Final Static