There are different ways to create objects in java:
1) Using new keyword
This is the most common way to create an object in java.
MyObject object = new MyObject();
2) Using Class.forName()
If we know the name of the class & if it has a public default constructor we can create an object in this way. It is also known as reflection.
MyObject object = (MyObject)Class.forName(“com.abc.MyObject”). newInstance();
3) Using clone()
The clone() can be used to create a copy of an existing object.
MyObject anotherObject = new MyObject();
MyObject object = anotherObject.clone();
4) Using object deserialization
Object deserialization is nothing but creating an object from its serialized form.
ObjectInputStream inStream = new ObjectInputStream(anInputStream );
MyObject object = (MyObject) inStream.readObject();
5) Using reflection in another way.
this.getClass().getClassLoader().loadClass(“com.abc.myobject”).newInstance();
skz says
July 30, 2012 at 6:43 pmIts really great :), was aware of few ways but you presented 5 ways .. thats great. Keep up the good work
RandomGuy says
July 10, 2013 at 2:01 pmBTW the 5th way is also using newInstance() method…which is not too different from 2…
Please tell about factory and factory-pattern methods.