在 Java 中创建对象的不同方法?

java 8object oriented programmingprogramming

在 Java 中,类是用户定义的数据类型/蓝图,我们在其中声明方法和变量。

public class Sample{
}

声明类后,您需要创建一个对象(实例化)。您可以使用各种方式创建对象 −

使用 new 关键字

通常,使用 new 关键字作为 −

创建对象
Sample obj = new Sample();

示例

在下面的 Java 中,我们有一个名为 sample 的类,它有一个方法(display)。从主方法中,我们实例化 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){
      //实例化 Sample 类
      Sample obj = new Sample();
      obj.display();
   }
}

输出

这是 Sample 类的显示方法

使用 newInstance() 方法

名为 Class 的类的 newInstance() 方法创建此 Class 对象所代表的类的对象。

您可以通过将其名称作为字符串传递给 forName() 方法来获取类的 Class 对象。

Sample obj2 = (Sample) Class.forName("Sample").newInstance();

示例

在下面的 Java 中,我们有一个名为 sample 的类,它有一个方法 (display)。从 main 方法中,我们使用类 ClassnewInstance() 方法创建 Sample 类的对象。

public class Sample{
   public void display() {
      System.out.println("这是 Sample 类的 display 方法");
   }
    public static void main(String[] args) throws Exception{
      //创建 Sample 类的 Class 对象
      Class cls = Class.forName("Sample");
      Sample obj = (Sample) cls.newInstance();
      obj.display();
   }
}

输出

这是 Sample 类的 display 方法

使用 clone() 方法

Object 类的 clone() 创建并返回当前类的对象。

示例

在下面的 Java 中,我们有一个名为 sample 的类,它有一个方法 (display)。我们从 main 方法创建 Sample 类的一个对象,然后使用 clone() 方法从该对象创建另一个对象。

public class Sample{
   public void display() {
      System.out.println("这是 Sample 类的 display 方法");
   }
    public static void main(String[] args) throws Exception{
      //创建 Sample 类的 Class 对象
      Sample obj1 = new Sample();
      //使用 clone() 方法创建另一个对象
      Sample obj2 = (Sample) obj1.clone();
      obj2.display();
   }
}

输出

这是 Sample 类的 display 方法

使用来自 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("这是 Sample 类的 display 方法");
   }
    public static void main(String[] args) throws Exception{
      //创建 Constructor 类
      Constructor 构造函数 = Sample.class.getDeclaredConstructor();
      //使用 newInstance() 方法创建对象
      Sample obj = constor.newInstance();
      obj.display();
   }
}

输出

这是 Sample 类的 display 方法

相关文章