So, every Java text book talks about how flexible Java is since it can load classes at run time. Just cobble together a string and give it to Class.forName(), and
Class.forName()
i think JUnit may also used a lot of reflection features to make the test framework generic.