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

更新于: 2020-06-29

801 次查看

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告