Nesne oluşturma - 1

"Merhaba, yine favori öğretmenin. Bu kadar büyük ilerleme kaydettiğin için sana nesneleri ve onlarla nasıl çalışılacağını anlatmaya karar verdim."

" Bir nesne oluşturmak için, 'yeni' anahtar kelimesini ve ardından onun tür adını (sınıf adı) yazmanız gerekir. Örneğin, 'Cat' adında bir sınıfımız olduğunu varsayalım:"

kod Tanım
Cat cat;
cat adında bir Cat referans değişkeni bildirir. cat değişkeninin değeri null.
new Cat();
Bir Cat nesnesi oluşturur.
Cat cat = new Cat();
cat adında bir Cat referans değişkeni oluşturur.
Yeni bir Cat nesnesi oluşturur. cat değişkenine yeni oluşturulan nesneye bir referans atar.
Cat kitty = new Cat();
Cat smokey = new Cat();
İki nesne oluşturulur. Onlara yapılan referanslar iki farklı değişkene atanır.
Cat kitty = new Cat();
Cat smokey = new Cat();

smokey = kitty;
İki nesne oluşturulur. Onlara yapılan referanslar iki farklı değişkene atanır.

Ardından, Smokey değişkenini kitty değişkeninin referans verdiği nesneye bir referansa eşitliyoruz. Her iki değişken de artık ilk oluşturulan nesnelere atıfta bulunur.
(İkinci nesneye artık hiçbir yerde başvurulmadığı için artık çöp olarak kabul edilir)

Cat kitty = new Cat();
Cat smokey = null;

smokey = kitty;

kitty = null;
Bir Cat nesnesi oluşturulur ve ilk değişkene (kitty) bu nesneye bir referans atanır. İkinci değişken (smokey), boş (null) bir referans saklar.

Her iki değişken de aynı nesneyi ifade eder.

Şimdi sadece dumanlı ama kedicik değil, bir nesneyi ifade ediyor.

"Bir nesne oluştursaydık ve herhangi bir değişkene referans kaydetmeseydik ne olurdu?"

"Bir değişkene atamadan sadece bir nesne yaratırsak, Java makinesi onu yaratacak ve sonra onu çöp (kullanılmayan bir nesne) ilan edecek. Bir süre sonra, nesne çöp toplama sırasında atılacaktır. "

"Artık ihtiyacım olmayan bir nesneyi nasıl elden çıkarabilirim?"

"Yapmazsın. Hiçbir değişken bir nesneye atıfta bulunmaz, çöp olarak etiketlenir ve Java makinesi tarafından bir dahaki sefere çöp topladığında yok edilir. "

Bir nesneye en az bir referans olduğu sürece, aktif kabul edilir ve yok edilmez. Bir nesneyi daha erken elden çıkarmak istiyorsanız, ona başvuran tüm değişkenlere null atayarak ona yapılan tüm referansları temizleyebilirsiniz .

"Anlıyorum. Son birkaç dersle karşılaştırıldığında bu oldukça basit görünüyor."

"Diego bütün gece senin için görevler düşündü. Bu özel çabayı sadece senin için yaptı. Harika bir espri anlayışı var, biliyor musun?"


Codegym Üniversitesi kursunun bir parçası olarak bir akıl hocası ile bir ders parçası. Tüm kurs için kaydolun.