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.codesjava.MyObject").newInstance();
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 main method
- What is constructor?
- Why default constructor is used?
- 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?
- What is constructor chaining in java?
- Why we use 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?