Here are the 5 different ways to create object in Java,
1. new Operator
2. Using Class.forName("class").newInstance()
3.Using de serialization (by using ObjectInputstream readObject method)
4.using clone method
5.using newInstance method.
package com.test.objectcreation;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
public class Add implements Cloneable {
public int number = 1;
public int add(int a, int b) {
return a + b;
}
public int change() {
number = 2;
return number;
}
public static void main(String args[]) throws InstantiationException, IllegalAccessException,
CloneNotSupportedException, ClassNotFoundException, IOException {
Add add = new Add(); // creation of object with new operator
System.out.println(add.add(2, 3));
Add a = Add.class.newInstance();// creation of object with newInstance
// method
// System.out.println(a.getName());
// System.out.println(a.getMethod("add", "2","3"));
System.out.println(a.add(2, 3));
a.change();
Add b = (Add) a.clone(); // creation of object using clone, Class needs to implement clonenable, otherwise you will get clonenotsupportedException and you need to typecast to class to which you need to clone.
System.out.println(b.add(2, 3));
System.out.println(b.toString());
System.out.println("static int in object a :" + a.number);
System.out.println(a.toString());
System.out.println("static int in object b (cloned object) :" + b.number);
FileInputStream fileIn = new FileInputStream("/E/Add.txt");
ObjectInputStream in = new ObjectInputStream(fileIn);// here reading serializable object which stored in add.txt file, we are creating Add classinstance,used mostly for deserialization.
Add e = (Add) in.readObject();// reading object and type casting.
in.close();
fileIn.close();
Class s = Class.forName("com.test.objectcreation.Add");// using forName
Add obj = (Add) s.newInstance(); // we are creating object from Object s
System.out.println(obj.hashCode());
}
}
1. new Operator
2. Using Class.forName("class").newInstance()
3.Using de serialization (by using ObjectInputstream readObject method)
4.using clone method
5.using newInstance method.
package com.test.objectcreation;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
public class Add implements Cloneable {
public int number = 1;
public int add(int a, int b) {
return a + b;
}
public int change() {
number = 2;
return number;
}
public static void main(String args[]) throws InstantiationException, IllegalAccessException,
CloneNotSupportedException, ClassNotFoundException, IOException {
Add add = new Add(); // creation of object with new operator
System.out.println(add.add(2, 3));
Add a = Add.class.newInstance();// creation of object with newInstance
// method
// System.out.println(a.getName());
// System.out.println(a.getMethod("add", "2","3"));
System.out.println(a.add(2, 3));
a.change();
Add b = (Add) a.clone(); // creation of object using clone, Class needs to implement clonenable, otherwise you will get clonenotsupportedException and you need to typecast to class to which you need to clone.
System.out.println(b.add(2, 3));
System.out.println(b.toString());
System.out.println("static int in object a :" + a.number);
System.out.println(a.toString());
System.out.println("static int in object b (cloned object) :" + b.number);
FileInputStream fileIn = new FileInputStream("/E/Add.txt");
ObjectInputStream in = new ObjectInputStream(fileIn);// here reading serializable object which stored in add.txt file, we are creating Add classinstance,used mostly for deserialization.
Add e = (Add) in.readObject();// reading object and type casting.
in.close();
fileIn.close();
Class s = Class.forName("com.test.objectcreation.Add");// using forName
Add obj = (Add) s.newInstance(); // we are creating object from Object s
System.out.println(obj.hashCode());
}
}
No comments:
Post a Comment