Cara objek dicipta
Barisan Kenderaan minivan = Kenderaan baharu(); mengisytiharkan objek jenis Kenderaan.
Pernyataan itu melakukan dua perkara:
Mengisytiharkan pembolehubah yang dipanggil van mini Kenderaan kelas.
Mencipta salinan fizikal objek dan memberikan van mini rujukan kepadanya menggunakan operator baharu.
Operator baharu memperuntukkan memori secara dinamik untuk objek dan mengembalikan rujukan kepadanya.
Rujukan ialah, lebih kurang, alamat objek dalam memori yang diperuntukkan oleh baharu.
Rujukan kemudiannya disimpan dalam pembolehubah.
Di Java, semua objek kelas mesti diperuntukkan secara dinamik.
Dua langkah arahan boleh ditulis semula untuk menunjukkan setiap langkah secara individu.
Van mini kenderaan; // mengisytiharkan rujukan kepada objek.
minivan = Kenderaan baharu(); // memperuntukkan objek Kenderaan.
Barisan pertama mengisytiharkan van mini sebagai rujukan kepada objek jenis Kenderaan.
minivan ialah pembolehubah yang boleh merujuk objek, tetapi bukan objek.
Buat masa ini, van mini tidak merujuk objek.
Barisan seterusnya mencipta objek Kenderaan baharu dan memberikan van mini rujukan kepadanya.
Kini van mini dipautkan kepada objek.
Pembolehubah rujukan dan tugasan
Pembolehubah rujukan objek bertindak secara berbeza daripada pembolehubah jenis primitif dalam operasi tugasan.
Dalam pembolehubah jenis primitif, pembolehubah di sebelah kiri menerima salinan nilai pembolehubah di sebelah kanan.
Dalam pembolehubah rujukan objek, pembolehubah di sebelah kiri merujuk kepada objek yang sama seperti pembolehubah di sebelah kanan.
Ini mungkin menyebabkan hasil yang tidak dijangka.
Contoh:
Kereta kenderaan1 = Kenderaan baharu();
Kereta kenderaan2 = kereta1;
kereta1 dan kereta2 merujuk objek yang sama.
Perubahan yang dibuat melalui car1 atau car2 menjejaskan objek yang sama.
Bila:
kereta1.mpg = 26;
System.out.println(car1.mpg);
System.out.println(car2.mpg);
Akan ada jalan keluar 26.
kereta1 dan kereta2 merujuk objek yang sama, tetapi tidak dipautkan dengan cara lain.
Penugasan seterusnya kepada car2 tidak menjejaskan kereta1.
Contoh:
Kereta kenderaan1 = Kenderaan baharu();
Kereta kenderaan2 = kereta1;
Kenderaan kereta3 = Kenderaan baharu();
kereta2 = kereta3;
car2 kini merujuk objek yang sama seperti car3.
Objek yang dirujuk oleh car1 kekal tidak berubah.
Atas ialah kandungan terperinci Penciptaan objek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!