用Java创建对象的不同方法
用Java创建对象的类
创建对象有五种不同的方法,下面将介绍创建对象的方法:
使用“新”关键字
使用Class的“newInstance()”方法。
使用clone()方法
使用构造函数类的“newInstance()”方法
使用反序列化
1)使用“新”关键字
new是在Java中引入的关键字。
我们通常使用new关键字来创建对象。
通过使用new关键字,我们可以调用要调用的任何构造函数。
示例
class CreateObjectByNew {
//默认构造函数 CreateObjectByNew() {
System.out.println("We are creating an object by using new keyword");
}
}
class Main {
public static void main(String[] args) {
//创建一个CreateObjectByNew类的对象
CreateObjectByNew cobn = new CreateObjectByNew();
}
}输出结果
E:\Programs>javac Main.java E:\Programs>java Main We are creating an object by using new keyword
2)使用Class的“newInstance()”方法。
该newInstance()方法在Class中可用。
通过使用newInstance()Class方法,它可以调用无参数构造函数或默认构造函数。
它创建该类的新实例。
示例
class NewInstanceMethodOfClass {
//默认构造函数 NewInstanceMethodOfClass() {
System.out.println("Object by using newInstance() method of Class");
}
}
class Main {
public static void main(String[] args) throws Exception {
//创建一个Class类的对象,然后
//我们将类作为参数传递
//在forName()类的方法
Class cl = Class.forName("NewInstanceMethodOfClass");
//现在我们调用newInstance()Class的方法
//并返回我们创建的类的引用
NewInstanceMethodOfClass nimoc = (NewInstanceMethodOfClass) cl.newInstance();
}
}输出结果
E:\Programs>javac Main.java E:\Programs>java Main Object by using newInstance() method of Class
3)使用clone()方法
该方法在java.lang.Cloneable接口中可用。
我们的类中有clone()Cloneable接口的重写方法。
这是复制对象的最简单方法。
示例
class CreateObjectByClone implements Cloneable {
String name;
CreateObjectByClone(String name) {
this.name = name;
}
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
public static void main(String[] args) throws Exception {
CreateObjectByClone cobc1 = new CreateObjectByClone("Preeti");
CreateObjectByClone cobc2 = (CreateObjectByClone) cobc1.clone();
System.out.println("The values before clone() in cobc1" + " " + cobc1.name);
System.out.println("The values after clone() in cobc2" + " " + cobc2.name);
}
}输出结果
E:\Programs>javac CreateObjectByClone.java E:\Programs>java CreateObjectByClone The values before clone() in cobc1 Preeti The values after clone() in cobc2 Preeti