Java - Blok Penyediaan Contoh
Helo di sana, ahli penyihir Java masa depan! ? Hari ini, kami akan melakukan perjalanan yang menarik ke atas dunia Blok Penyediaan Contoh di Java. Jangan khawatir jika anda belum pernah mendengar tentang ini sebelumnya – pada akhir pelajaran ini, anda akan menjadi pakar! Mari kita melompat ke atas dengan kesungguhan seperti anak di atas rak kue!
Apa itu Blok Penyediaan Contoh?
Bayangkan anda membuat kue. Sebelum anda meletakkannya di atas rak panggang, anda kacangkan semua bahan di atas rak penyaring. Proses pengadunan adalah seperti apa yang Blok Penyediaan Contoh lakukan di Java – ia menyiapkan hal-hal sebelum peristiwa utama!
Blok Penyediaan Contoh adalah rak sepakat kode yang dijalankan apabila objek kelas diwujudkan, sebelum konstruktor dipanggil. Ia seperti sebuah pre-party untuk objek anda!
Inilah seperti apa ia:
public class Kue {
{
// Ini adalah Blok Penyediaan Contoh
System.out.println("Kacangkan bahan...");
}
public Kue() {
System.out.println("Kue sudah siap!");
}
}
Apabila anda membuat objek Kue
baru, anda akan lihat:
Kacangkan bahan...
Kue sudah siap!
Ciri-ciri Blok Penyediaan Contoh
Mari kita kongkritkan ciri-ciri utama rak penyediaan ini:
- Mereka dijalankan setiap kali objek diwujudkan.
- Mereka dijalankan sebelum konstruktor.
- Mereka ditutupi oleh kurung kurawal
{}
. - Mereka boleh mengakses variabel contoh dan metode.
- Anda boleh memiliki banyak Blok Penyediaan Contoh di atas kelas.
Penggunaan Blok Penyediaan Contoh
Sekarang, anda mungkin bertanya-tanya, "Mengapa kita perlu rak penyediaan ini apabila kita ada konstruktor?" Pertanyaan yang bagus! Izinkan saya untuk menjelaskan dengan contoh yang menyenangkan.
Bayangkan anda membuat karakter permainan video. Setiap karakter perlu beberapa stat dasar, terlepas dari kelas mereka. Kita boleh menggunakan Blok Penyediaan Contoh untuk ini!
public class KarakterPermainan {
private int kesihatan;
private int mana;
{
// Penyiapan dasar untuk semua karakter
kesihatan = 100;
mana = 50;
System.out.println("Seorang pahlawan baru muncul!");
}
public KarakterPermainan(String kelasKarakter) {
System.out.println("Membuat " + kelasKarakter);
}
}
Sekarang, apabila kita membuat karakter baru:
KarakterPermainan warrior = new KarakterPermainan("Warrior");
Kita akan lihat:
Seorang pahlawan baru muncul!
Membuat Warrior
Blok Penyediaan Contoh memastikan setiap karakter mula dengan kesihatan dan mana yang sama, terlepas dari kelas mereka. Ia seperti memberikan semua orang rak penyediaan yang sama di atas permainan!
Contoh Lain dari Blok Penyediaan Contoh
Mari kita eksplor contoh lain untuk benar-benar menekan pemahaman kita.
Contoh 1: Beberapa Blok Penyediaan Contoh
Java membenarkan beberapa Blok Penyediaan Contoh, dan mereka dijalankan dalam susunan mereka muncul di atas kod.
public class MultiBlock {
{
System.out.println("Rak pertama");
}
{
System.out.println("Rak kedua");
}
public MultiBlock() {
System.out.println("Konstruktor");
}
}
// Penggunaan
MultiBlock mb = new MultiBlock();
Output:
Rak pertama
Rak kedua
Konstruktor
Contoh 2: Menginisialisasi Objek Kompleks
Blok Penyediaan Contoh adalah sangat baik untuk menyiapkan objek kompleks atau koleksi:
import java.util.ArrayList;
import java.util.List;
public class RakBuku {
private List<String> buku;
{
buku = new ArrayList<>();
buku.add("Pemrograman Java");
buku.add("The Lord of the Rings");
buku.add("Harry Potter");
}
public RakBuku() {
System.out.println("Rak buku dicipta dengan " + buku.size() + " buku");
}
public void senaraiBuku() {
for (String buku : buku) {
System.out.println("- " + buku);
}
}
}
// Penggunaan
RakBuku rakSaya = new RakBuku();
rakSaya.senaraiBuku();
Output:
Rak buku dicipta dengan 3 buku
- Pemrograman Java
- The Lord of the Rings
- Harry Potter
Contoh 3: Blok Penyediaan Contoh vs Rak Statik
Adalah penting untuk memahami perbezaan antara Blok Penyediaan Contoh dan Rak Statik. Mari lihat mereka di atas tindakan:
public class PerbandinganRak {
{
System.out.println("Blok Penyediaan Contoh");
}
static {
System.out.println("Rak Statik");
}
public PerbandinganRak() {
System.out.println("Konstruktor");
}
public static void main(String[] args) {
System.out.println("Membuat rak pertama:");
PerbandinganRak obj1 = new PerbandinganRak();
System.out.println("\nMembuat rak kedua:");
PerbandinganRak obj2 = new PerbandinganRak();
}
}
Output:
Rak Statik
Membuat rak pertama:
Blok Penyediaan Contoh
Konstruktor
Membuat rak kedua:
Blok Penyediaan Contoh
Konstruktor
Notice how the Static Block runs only once, while the Instance Initializer Block runs for each object creation.
Kesimpulan
Dan itu adalah, rakan-rakan! Kita telah melakukan perjalanan melalui wilayah Blok Penyediaan Contoh, dari sintaksis dasar mereka hingga contoh yang lebih kompleks. Rak penyediaan ini seperti rak pembukaan konser – mereka menyiapkan rak sebelum persembahan utama (konstruktor) dimulai.
Ingat, walaupun Blok Penyediaan Contoh adalah kuat, mereka tidak selalu diperlukan. Gunakan mereka apabila anda perlu menginisialisasi sesuatu untuk setiap objek, terlepas dari konstruktor mana yang dipanggil. Mereka sangat berguna untuk inisialisasi kompleks atau apabila anda ingin menjaga konstruktor anda bersih dan fokus.
Teruskan untuk berlatih, teruskan untuk mengkod, dan tidak lama lagi anda akan mengatur rak penyediaan ini seperti penyihir yang berpengalaman! Sampaijumpa di lain masa, happy coding! ?????
Credits: Image by storyset