First page Back Continue Last page Overview Graphics
Reflexe
Zjišťování informací o objeku/třídě za běhu // Reflexe.java
- Metody, atributy, rodiče, rozhraní, ...
Vytváření objetků, volání metod, čtení/nastavování attr.
Class objekt
- Jeden pro každou použitou třídu
- Načítány/vytvářeny při prvním použití pomocí JVM
- Class reference – obj.getClass(), .class, Class.forName()
- ==, instanceof, obj1.isInstance(obj2)
Kontroly nutné provádět za běhu
- Pomalejší (hlavně ve starších verzích Java < 1.4)
- Chyby neodhalí kompilátor – zpracování vyjímek
- Složitější kód
- Security manager (nastavování hodnot datových složek)
Možnost používat třídy neznámé v době kompilace
- pluginy, devel. nástroje – GUI, ...
Rozšíření pro Java 5 (1.5)