Java 中创建对象的不同方法?
在 Java 中,类是一种用户定义的数据类型/蓝图,我们在其中声明方法和变量。
public class Sample{ }
声明类后,需要创建(实例化)一个对象。您可以使用多种方法创建对象 -
使用 new 关键字
通常,使用 new 关键字创建对象,如下所示 -
Sample obj = new Sample();
示例
在下面的 Java 代码中,我们有一个名为 sample 的类,它有一个方法(display)。从 main 方法中,我们正在实例化 Sample 类并调用 display() 方法。
public class Sample{ public void display() { System.out.println("This is the display method of the Sample class"); } public static void main(String[] args){ //Instantiating the Sample class Sample obj = new Sample(); obj.display(); } }
输出
This is the display method of the Sample class
使用 newInstance() 方法
名为 Class 的类的 newInstance() 方法创建由此 Class 对象表示的类的对象。
您可以通过将类的名称作为字符串传递给 forName() 方法来获取类的 Class 对象。
Sample obj2 = (Sample) Class.forName("Sample").newInstance();
示例
在下面的 Java 代码中,我们有一个名为 sample 的类,它有一个方法(display)。从 main 方法中,我们正在使用 Class 类的 newInstance() 方法创建 Sample 类的对象。
public class Sample{ public void display() { System.out.println("This is the display method of the Sample class"); } public static void main(String[] args) throws Exception{ //Creating the Class object of Sample class Class cls = Class.forName("Sample"); Sample obj = (Sample) cls.newInstance(); obj.display(); } }
输出
This is the display method of the Sample class
使用 clone() 方法
Object 类的 clone() 创建并返回当前类的对象。
示例
在下面的 Java 代码中,我们有一个名为 sample 的类,它有一个方法(display)。从 main 方法中,我们正在创建 Sample 类的对象,并从中使用 clone() 方法创建另一个对象。
public class Sample{ public void display() { System.out.println("This is the display method of the Sample class"); } public static void main(String[] args) throws Exception{ //Creating the Class object of Sample class Sample obj1 = new Sample(); //Creating another object using the clone() method Sample obj2 = (Sample) obj1.clone(); obj2.display(); } }
输出
This is the display method of the Sample class
使用 lang.reflect 中的构造函数类
java.lang.reflect.Constructor 类的 newInstance() 方法使用当前构造函数创建并返回一个新对象。
示例
在下面的 Java 代码中,我们有一个名为 sample 的类,它有一个方法(display)。从 main 方法中,我们正在使用 java.lang.reflect.Constructor 类创建 Sample 类的对象。
import java.lang.reflect.Constructor; public class Sample { public void display() { System.out.println("This is the display method of the Sample class"); } public static void main(String[] args) throws Exception{ //Creating a Constructor class Constructor constructor = Sample.class.getDeclaredConstructor(); //Creating an object using the newInstance() method Sample obj = constructor.newInstance(); obj.display(); } }
输出
This is the display method of the Sample class
广告