using reflection, one can call instance.forName(String className). there's also instance.clone(), tho it's debatable whether this is true initialization.
after reading on the subject, it seems there are only 3 ways to initialize an object:
The Java language has three mechanisms dedicated to ensuring proper
initialization of objects: instance initializers (also called instance
initialization blocks), instance variable initializers, and
constructors. (Instance initializers and instance variable
initializers collectively are called "initializers.") All three
mechanisms result in Java code that is executed automatically when an
object is created. When you allocate memory for a new object with the
new operator or the newInstance() method of class Class, the Java
virtual machine will insure that initialization code is run before you
can use the newly-allocated memory. If you design your classes such
that initializers and constructors always produce a valid state for
newly-created objects, there will be no way for anyone to create and
use an object that isn't properly initialized.
Reference: