Merhaba Değerli Java Dostları,
Bu yazımda dikkatli kullanıldığı takdirde işleri çok kolaylaştıran aksi takdirde ise performans problemlerine yol açan Java Reflection API’ ye kısa bir giriş yapacağım. Bu API’ nin amacını kısaca şöyle özetleyebilirim. Çalışma anında sınıfa ait constructor, field, metot gibi bilgilere erişebilmek için kullanılır. Hemen kısa bir örnek ile giriş yapmış olalım.
package com.farukbozan.jfr.reflection;public class ReflectionClass {int field1 = 0;private int field2 = 0; protected int field3 = 0; public int field4 = 0; public ReflectionClass() { public String getInfo() { public String getInfo(String byName) { public int getField2() { public void setField2(int field2) { } |
Klasik bir sınıfımızdan sonra reflection özelliklerini kullanacağımız bir de main sınıfı tanımlayalım.
package com.farukbozan.jfr.reflection;import java.lang.reflect.Constructor; for (@SuppressWarnings(“rawtypes”) for (Field f : fields) for (Method m : methods) } } |
Main sınıfında öncelikle ReflectionClass sınıfına ait bilgileri alıyoruz. Daha sonra tanımlanmış constructor, field ve metotları sırası ile print ediyoruz. Çıktımız ise şöyle oluyor.
com.farukbozan.jfr.reflection.ReflectionClass field1 field2 field3 field4 getInfo getInfo getField2 setField2 |
Basit bir örnek ile Reflection API’ ye girmiş olduk. Sonraki yazılarımda daha da detaylı örnekler ile karşınızda olmayı planlıyorum.
Bol Java’ lı günler dileğiyle...
Yazan: Faruk BOZAN