> Hi to all,
> I don't understand a thing: which is the difference between reflection and
> introspection?
Introspection is a programmatic facility built on top of reflection and
a few supplemental specifications (see the java.beans package). It
provides somewhat higher-level information about a class than does
reflection, and the information provided can be customized by the class
provider or packager independant of the class itself. Introspection is
especially designed to be useful in conjunction with visual application
assembly tools.
> I know reflection let a program get some runtime info about itself, but this
> means that I can't reflect a class of another program?
You can reflect any class you can load, subject to a certain extent to
the constraints of any security manager that is active. It is in
general possible to load any class if you can get the bytecode for it
and its direct and indirect dependencies -- typically in the form of
class files, possibly packaged in a JAR.
John Bollinger
jobollin@indiana.edu