60 likes | 236 Views
Tip Bilgisi & Reflection. EM-406 Java. Motivasyon. Farklı şekillerde tutulan objelerin asıl tipleri Uzaktan Kumanda aslında neyi kontrol ediyor? Kesin olmayan tip dönüşümü (downcast) Direk tip öğrenme (Reflection API). Class classı. Class objesi Her class kendi hakkındaki bilgileri tutar
E N D
Tip Bilgisi & Reflection EM-406 Java
Motivasyon • Farklı şekillerde tutulan objelerin asıl tipleri • Uzaktan Kumanda aslında neyi kontrol ediyor? • Kesin olmayan tip dönüşümü (downcast) • Direk tip öğrenme (Reflection API)
Class classı • Class objesi • Her class kendi hakkındaki bilgileri tutar • Shape.class • Class.forName(“Shape”)
Tip Belirleme • Eldeki referans tipini değiştirmek alt tipe aktarmak • Shape sh = new Triangle(); • Triangle t = (Triangle)sh; • () ile yapılan işlem hatalıysa Exception atılır • instanceof gerekli bilgiyi sağlayabilir • if (t instanceof Triangle){…} • Class.isInstance() • t.getClass()
Class işlemleri • Class.getInterfaces() • Class.getSuperclass() • Class.newInstance() • Class.getName() • …
Reflection • Bazen çalışan obje hakkında hiçbir bilgi olmayabilir (JavaBeans, RMI) • java.lang.reflect paketi • Field, Method, Constructor • Field.get() Field.set() Method.call() • Reflection derleme zamanında olmayan çalışma zamanında olan .class lar ile ilgilenir