Yes, although Java's reflection is somewhat of a pain in the ass and limited in many ways. But you can take a Class object and call newInstance(), and it will invoke the class's no-arg constructor.
Class c = [SomeRandomClass class];
id thingy = [[c alloc] init];
but Java won't let you do the equivalent: Class c = SomeRandomClass;
Object x = new c; Class c = SomeRandomClass.class;
Object x=c.newInstance();