用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