Had a conversation with a coworker the other day about this.
There's the obvious which is to use a constructor, but what other ways are there?
There are four different ways to create objects in java:
This is the most common way to create an object in java. Almost 99% of objects are created in this way.
MyObject object = new MyObject();
If we know the name of the class & if it has a public default constructor we can create an object in this way.
MyObject object = (MyObject) Class.forName("subin.rnd.MyObject").newInstance();
The clone() can be used to create a copy of an existing object.
MyObject anotherObject = new MyObject(); MyObject object = (MyObject) anotherObject.clone();
Object deserialization is nothing but creating an object from its serialized form.
ObjectInputStream inStream = new ObjectInputStream(anInputStream ); MyObject object = (MyObject) inStream.readObject();
You can read from here