
"Merhaba, Amigo!"
"Şimdi ana olaya geçelim. Class sınıfını tanıyacağız ve Reflection'a değineceğiz.
Muhtemelen zaten fark ettiğiniz gibi, Java'da her şey bir nesnedir. Peki bir nesnenin neye ihtiyacı vardır? Her nesnenin tanımlayan nedir? Bütün bunlar neyle ilgili?"
"Bir sınıf!"
"Doğru! Aferin. Her nesnenin bir sınıfı vardır. Ama nesnelere geri dönersek... Bazı nesneler tamamen bir varlık içerirken, diğerleri onu yönetmeye yardımcı olur."
"Bu ikinci tür, FileOutputStream ve Thread'i içerir. Bir Thread nesnesi oluşturduğunuzda , yeni bir thread oluşturulmaz. Thread, start() yöntemi çağrıldıktan sonra Java sanal makinesi tarafından oluşturulur. Bu nesne, basitçe işlemin yönetilmesine yardımcı olur."
" FileOutputStream ile aynı : dosya diskte depolanır ve işletim sistemi depolamayı ve erişimi yönetir. Ancak Java sanal makinesinin yardımıyla bir kez daha File nesneleri aracılığıyla onunla etkileşim kurabiliriz."
"Evet, bunu zaten anlıyorum."
"Yani, sınıflarla etkileşim için Class adında özel bir sınıf var."
"Bunu tahmin etmek zor değildi."
"Evet. Java sanal makinesi belleğe her yeni sınıf yüklediğinde, yüklenen sınıf hakkında belirli bilgileri almak için kullanabileceğiniz bir Class nesnesi oluşturur."
"Her sınıf ve nesne, bir « Sınıf nesnesi » ile ilişkilendirilir ."
Örnek | Tanım |
---|---|
|
Tamsayı sınıfının Class nesnesini alır. |
|
int sınıfının Class nesnesini alır. |
|
Bir String nesnesinin Class nesnesini alır. |
|
Object nesnesinin Class nesnesini alır. |
"Vay canına! Ne kadar ilginç!"
"Sınıf kelimesinin Java'da bir anahtar kelime olduğunu ve değişken adı olarak kullanılamayacağını hatırlıyor musunuz ?"
"Ah evet, biliyorum, biliyorum. Sadece unuttum."
"Sınıf nesnesini zaten bir yerlerde kullandınız mı?"
"Evet, eşittir yönteminin kendi uygulamamızı yazarken kullandık."
"Evet, nesnelerin aynı sınıfa sahip olup olmadığını test etmek için getClass() yöntemini kullanabilirsiniz."
"Peki bu nesneyle ne yapabilirsin?"
"Pek çok şey:"
java kodu | Tanım |
---|---|
|
Sınıf adını alır. |
|
İsme göre bir sınıf alır. |
|
Nesnelerin sınıflarını karşılaştırır. |
"İlginç ama düşündüğüm kadar havalı değil."
"Harika olmasını mı istiyorsun? Bir de Yansıma var . Yansıma süper havalı."
" Yansıma nedir ?"
" Yansıma , bir sınıfın kendisi hakkında bilgi edinme yeteneğidir. Java'nın özel sınıfları vardır: Field ve Method sınıflar için Class sınıfına benzer . Class nesneleri bir sınıf hakkında bilgi almanıza izin verdiği gibi , Field nesneleri de bir alan hakkında bilgi sağlar. ve Method nesnesi bir yöntem hakkında bilgi sağlar. Ve onlarla neler yapabileceğinize bir bakın:"
java kodu | Tanım |
---|---|
|
List sınıfının arabirimleri için Class nesnelerinin bir listesini alır |
|
String sınıfının üst sınıfının Class nesnesini alır |
|
List sınıfının yöntemlerinin bir listesini alır |
|
Yeni bir Dize oluşturur |
|
String sınıfının uzunluk yöntemini alır ve onu String s üzerinde çağırır. |
"Vay canına! İşte bu gerçekten harika!"
GO TO FULL VERSION