Yes, we can create an object without using new operator in java.
Using newInstance() Method
If we know the name of the class and it has a public default constructor than we can create an object in the following way.
MyObject object = (MyObject) Class.forName("com.w3schools.MyObject").newInstance(); |
Using clone()
The clone() can be used to create a copy of an existing object.
MyObject anotherObject = new MyObject(); MyObject object = (MyObject) anotherObject.clone(); |
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(); |
Java interview questions on constructor
- Default constructor
- Does constructor return any value in java?
- Is constructor inherited in java?
- Can you make a constructor final in java?
- Difference between constructor and method in java?
- How to copy values from one object to another java?
- How to overload constructor in java?
- can you create an object without using new operator in java?
- Constructor chaining in java
- Parameterized constructor in java
- Can we call subclass constructor from superclass constructor?
- What happens if you keep return type for a constructor?
- What is the use of private constructor in java?
- Can a constructor call another constructor java?