`

使用Consturct创建带有构造参数的对象实例

 
阅读更多
// 这个是一般对象创建方法
Class.forName("author.estone.java.SomeClass").newInstance();

这种创建方式的前提是author.estone.java.SomeClass的构造方法必须要
有一个SomeClass()的构造方法。如果带有参数的构造方法使用上面的方法即
会报错。

假设SomeClass的构造方法如下:
public SomeClass(String className);

使用Construct创建该对象实例的代码片段如下:
SomeClass.class.getConstructor(String.class).newInstance("names");

结合泛型使用的一个例子:
	public <T extends BaseClass> T init(Class<T> type) {
		try {
			return type.getConstructor(String.class).newInstance("names");
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
		} catch (SecurityException e) {
			e.printStackTrace();
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		} catch (NoSuchMethodException e) {
			e.printStackTrace();
		}
		return null;
	}

 
分享到:
评论

相关推荐

    构造函数 原型对象 实例、图解

    原型对象是通过构造函数创建的,在构造函数中,我们可以使用 `prototype` 属性来访问原型对象。 实例 实例是指通过构造函数创建的对象。实例继承了原型对象的属性和行为,并可以拥有自己的属性和方法。 构造函数...

    使用Springboot注入带参数的构造函数实例

    使用 SpringBoot 注入带参数的构造函数实例 SpringBoot 框架中,使用构造函数实例可以通过 @Bean 注解来实现。下面我们来详细介绍如何使用 SpringBoot 注入带参数的构造函数实例。 使用 @Bean 注解来实现构造函数...

    c++构造函数实例质料

    在这个实例中,我们看到了两种不同类型的构造函数:无参数构造函数和带有参数的构造函数。 首先,让我们看看无参数构造函数。在`Student`类中,我们定义了一个名为`Student()`的构造函数,它没有接收任何参数。构造...

    java中带有不同构造方法的程序内存分析

    本文件主要探讨了Java中带有不同构造方法的程序如何影响内存分析,这包括无参构造方法、带参数的构造方法以及它们在内存分配中的应用。 首先,让我们了解一下构造方法。构造方法是一种特殊的方法,它的名字与类名...

    Python 含参构造函数实例详解

    含参构造函数是指带有参数的构造函数,它可以在对象创建的同时传递参数给对象,从而实现对象状态的初始化。含参构造函数使得我们能够在创建对象时就指定其初始状态,这对于需要特定初始状态的对象来说是非常有用的。...

    9.java学习第九章——对象的创建和使用+构造方法+方法重载——作业的形式:创建对象在JVM中的存储状态(内存图).pdf

    - 在Java中,**创建对象**是使用类的模板来实例化一个具体的实例的过程。 - **创建对象**通常通过`new`关键字实现,例如: ```java Student student = new Student(); ``` - **对象**在内存中的存储状态分为两个...

    构造函数实例(源码)

    接下来是初始化构造函数,也称为带有参数的构造函数。这种构造函数允许你在创建对象时传递参数,以便根据这些参数初始化对象的成员变量。这样可以避免使用全局或静态初始化,并且使代码更具可读性和可维护性。例如:...

    C#多态性实例,向基类构造函数传递参数.rar

    2. **构造函数的调用**:在C#中,每个类都有一个或多个构造函数,它们用于初始化新创建的对象。当我们创建派生类时,通常需要调用基类的构造函数来确保基类的成员被正确初始化。我们可以使用`base`关键字来实现这...

    在js中创建类和对象

    虽然简洁,但这种方法没有明显的类型标识,且每个对象的实例方法都会占用额外的内存空间,因为每个实例都有独立的`showName`函数。 5.2 构造函数 构造函数是一种特殊类型的函数,用于创建和初始化新对象。通过`new`...

    讲解Java中如何构造内部类对象以及访问对象

    构造器的第一个参数通常是外部类的实例。 通过反射创建内部类对象时,必须考虑到访问权限和外部类的实例。如果内部类是非静态的,那么它会隐含地持有一个外部类的引用,这在构造内部类实例时必须提供。而静态内部类...

    dotnet C# 只创建对象不调用构造函数方法.rar

    在创建类实例时,通常我们会使用构造函数来初始化对象的状态。然而,在某些特定情况下,我们可能希望只创建对象而不调用构造函数。这样的需求可能出现在诸如序列化、反射或元数据处理等场景中。下面将详细探讨如何在...

    Java面向对象(进阶)- super关键字的使用与子类对象实例化全过程

    - **super调用构造器**:子类的构造器可以使用`super(参数列表)`来调用父类的构造器,初始化父类的状态。 举例1:在`Person`类中定义了`eat()`和`sleep()`方法,`Student`类继承`Person`并重写了这两个方法。在`...

    在javascript中创建对象的各种模式解析

    JavaScript中创建对象最直接的方法是使用对象字面量,或者通过new关键字结合构造函数来创建实例。对象字面量允许直接定义一个对象的属性和方法,而new关键字则是用来根据构造函数创建一个新的对象实例,将构造函数中...

    js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式).docx

    构造函数模式通过使用 `new` 关键字来创建对象实例。这种方式与工厂模式类似,但更加规范化且具有更好的可读性。以下是构造函数模式的示例代码: ```javascript function CPerson(name, sex, age) { // 首字母大写 ...

    WPF中PageFounction导航能使用线程和带参构造器

    这可以通过定义一个带有参数的构造函数来实现。例如,如果你的PageFounction需要处理特定的用户输入或者需要初始化某个特定的状态,你可以在构造函数中接收这些参数,并在页面加载时使用它们。在导航到PageFounction...

    java 使用静态成员变量计算内存中实例化的对象数目

    现在,我们可以创建`MyClass`的多个实例,并通过调用`getInstanceCount`来查看内存中实例化的对象数目: ```java public class Main { public static void main(String[] args) { MyClass obj1 = new MyClass(); ...

    在反射动态机制生成对象的实体

    如果类的构造函数带有参数,则需要使用`Constructor`类的`newInstance()`方法来创建对象。这通常涉及到以下步骤: 1. **获取Constructor对象**:通过`Class.getConstructor(Class... parameterTypes)`或`Class....

    面向对象与Java实现(类、对象、构造方法

    当使用`new`关键字创建对象时,系统自动调用构造方法。 ```java public class Person { String name; int age; // 构造方法 public Person(String name, int age) { this.name = name; this.age = age; } ...

    反射创建对象

    如果类没有默认构造器或者构造器是私有的,我们需要使用`Constructor`对象来创建实例。 创建实例的步骤如下: 1. 获取`Constructor`:使用`Class`对象的`getConstructors()`或`getDeclaredConstructors()`方法,...

    java_构造者模式

    在Java中,构造者模式通过隔离实例化过程和对象的构建过程,使得创建对象的过程更加灵活,同时也提高了代码的可读性和可维护性。下面我们将深入探讨这个模式的概念、结构以及如何在Java中实现。 1. **模式概念** ...

Global site tag (gtag.js) - Google Analytics