reflexia je o tom, ze za behu sa mozno dopytovat na vlastnosti (= instancne premenne + metody) lubovolnej triedy
alebo viem zobrat lubovolnu premennu, zistit pocas behu jej typ (typicky triedu) a opat sa dopytovat na jej premenne a metody.
ta trieda za behu je reprezentovana objektom typu java.lang.Class
Nevim jestli odpovim presne na otazku, ale zkusim:
Trida ve smyslu semantiky Javy neni objekt, na rozdil od nekterych jinych jazyku, ktere maji koncept metatrid (metaclass) - asi nejznamejsi dnes bude Objective-C a Python.
Kdyz zavolate nejaka_trida.class nebo nejaka_instance.getClass(), tak dostanete objekty typu (=instance tridy) java.lang.Class, coz je objekt popisujici vlastnosti tridy, ovsem tezko se v Jave vytvari uplne nova trida mimo prekladac - jsou nejake moznosti (Javassist, ClassLoader.defineClass, JVM TI ...).