If you are handling super / subclasses, or for whatever reason don't know exactly what Class is to be instantiated, the forName() method will be required also:
(ClassName) Class.forName([name_of_the_class])
.getConstructor([Type]).newInstance([Constructor Argument]);
This assumes name_of_the_class is a passed variable.
Also, if the class is in a package, even if that package has been imported, you still have to explicitly stipulate the package in forName() (I think, I'm new to all this).
Class.forName([name_of_package].[name_of_class])