`

java.lang.Class.getDeclaredConstructor()方法实例

 
阅读更多

java.lang.Class.getDeclaredConstructor() 方法返回一个Constructor对象,它反映此Class对象所表示的类或接口指定的构造函数。parameterTypesparameter是确定构造函数的形参类型,在Class对象声明顺序的数组。

声明

以下是java.lang.Class.getDeclaredConstructor()方法的声明

publicConstructor<T> getDeclaredConstructor(Class<?>... parameterTypes)throwsNoSuchMethodException,SecurityException

参数

  • parameterTypes -- 这是参数数组。

返回值

此方法返回具有指定参数列表构造函数的构造函数对象。

异常

  • NoSuchMethodException -- 如果没有找到匹配的方法。

  • SecurityException --如果安全管理存在。

例子

下面的例子显示java.lang.Class.getDeclaredConstructor()方法的使用。

import java.lang.reflect.*;

public class ClassDemo {

   public static void main(String[] args) {
    
     try {
        ClassDemo cls = new ClassDemo();
        Class c = cls.getClass();

        // constructor with arguments as Double and Long
        Class[] cArg = new Class[2];
        cArg[0] = Double.class;
        cArg[1] = Long.class;
        Constructor ct = c.getDeclaredConstructor(cArg);
        System.out.println("Constructor = " + ct.toString());
     }
    
     catch(NoSuchMethodException e) {
        System.out.println(e.toString());
     }
        
     catch(SecurityException e) {
        System.out.println(e.toString());
     }
   }

   private ClassDemo() {
      System.out.println("no argument constructor");
   }

   public ClassDemo(Double d, Long l) {
      this.d = d;
      this.l = l;
   }

   Double d = new Double(3.9d);
   Long l = new Long(7687);
} 

 让我们来编译和运行上面的程序,这将产生以下结果:

no argument constructor
Constructor=publicClassDemo(java.lang.Double,java.lang.Long)

 

分享到:
评论

相关推荐

    Java常用包

    Java语言提供了多种常用包,包括java.lang、String、StringBuffer、Math、Object、Class、Constructor、Method、Field、Date、Calendar、SimpleDateFormat、File等。这些包中的类和方法为Java开发提供了强大的支持。...

    Java反射实例源码

    在Java中,反射机制的核心类是`java.lang.Class`,`java.lang.reflect.Method`,`java.lang.reflect.Field`,以及`java.lang.reflect.Constructor`。这些类提供了对类、方法、字段和构造器的动态访问能力。 标题...

    用反射解析jar文件并执行里面Java代码

    在Java编程语言中,反射(Reflection)是一种强大的工具,它允许程序在运行时检查和操作类、接口、字段以及方法等对象。通过反射,我们可以在不知道具体类名的情况下实例化对象,调用方法,访问和修改私有成员,以及...

    java反射实例代码

    1. **`java.lang.Class`**: 这个类是所有Java类的通用表示,用于获取类的信息,如类名、包名、父类、接口、构造器、方法和字段。通过`Class.forName()`可以加载并返回一个类的`Class`对象。 2. **获取类信息**: ...

    java反射

    `Class.getConstructor()`或`Class.getDeclaredConstructor()`返回一个`Constructor`对象,可以使用`newInstance()`方法创建类的新实例。 #### 动态性与反射 虽然Java通常被认为是静态类型的,但反射机制的存在使...

    Java-反射笔记.pdf

    在Java中,反射机制是通过java.lang.Class类和java.lang.reflect包来实现的。本笔记将深入探讨Java反射的原理、用途以及如何使用。 一、反射的概念与作用 反射是Java提供的一种能力,它允许程序在运行时动态地获取...

    Java 反射

    在Java中,反射的核心类包括`java.lang.Class`、`java.lang.reflect.Method`、`java.lang.reflect.Field`和`java.lang.reflect.Constructor`。以下是对这些关键概念的详细解释: 1. **Class对象**:每个类在Java...

    Java反射机制21

    这个机制的核心是`java.lang.Class`类,它是所有Java类的通用表示。以下是对Java反射机制及其应用的详细说明: 1. **获取Class对象**: - **类名.class**:这是最直接的方式,通过类名后跟`.class`来获取对应的`...

    Java反射机制课件ppt

    这种机制使得Java具有高度的灵活性和动态性,可以在编译时未知类的情况下进行类的加载、实例化、方法调用等操作。 1. **什么是反射** 反射机制允许Java程序在运行时检查类的结构,包括类的属性(fields)、方法...

    java的反射技术.pdf

    在上述代码中,我们首先通过Class.forName("java.lang.Long")获取到Long类的Class对象,然后通过getConstructor获取其构造函数,进而创建了一个Long对象。这个过程演示了Java反射的基本使用方式。需要注意的是,由于...

    java bean和map之间的互转

    这段代码首先创建一个Java Bean实例,然后遍历Map中的所有键值对,调用对应的setter方法设置属性。 在实际应用中,可能会遇到一些复杂的情况,如嵌套的Java Bean或自定义的类型转换。这时,可以扩展这些方法以处理...

    JAVA反射机制的入门代码

    在Java中,反射主要通过`java.lang.Class`类和`java.lang.reflect`包中的几个关键类(如`Constructor`、`Method`和`Field`)来实现。当你在程序运行时获取到一个类的`Class`对象,你就可以获取该类的所有信息,包括...

    Java语言反射机制原理探析.zip

    `Class`对象提供了`newInstance()`方法,用于无参数的构造器创建实例。如果需要使用有参数的构造器,可以使用`Constructor`类的`getDeclaredConstructor()`或`getConstructor()`方法获取构造器,然后调用`new...

    java反射机制学习

    `java.lang.Class`类是所有Java类的元数据表示,它包含了关于类的所有信息,如类名、修饰符、父类、接口、字段和方法。当你调用一个对象的`getClass()`方法时,你会得到一个表示该对象所属类的`Class`对象。由于`...

    JAVA中的反射机制(内含大量实例)

    对于类的构造函数、字段和方法,`java.lang.Class`类提供了多种反射调用来获取相关信息: - **构造函数**:`getConstructor(Class&lt;?&gt;... parameterTypes)`和`getDeclaredConstructor(Class&lt;?&gt;... parameterTypes)`...

    java反射调用实例代码

    在Java中,`java.lang.reflect`包提供了对反射的支持,包括`Class`类,`Constructor`类,`Method`类和`Field`类。这些类分别代表了类、构造器、方法和字段的反射对象,它们可以用来获取类的信息并进行动态操作。 1....

    Java核心知识体系:反射机制详解.pdf

    在Java中,反射主要涉及`java.lang.Class`和`java.lang.reflect`包中的类。 2. **类的加载** 类的加载是由Java的类加载器(ClassLoader)完成的。当程序首次尝试使用一个类时,类加载器会读取类的字节码文件(....

    java反射源代码

    Java反射源于Java.lang.Class类,它代表了Java运行时的类信息。通过Class对象,我们可以获取到类的构造器、方法、字段等信息,甚至可以动态地实例化对象和调用其成员。例如,`Class&lt;?&gt; clazz = Class.forName(...

    java 反射的使用

    在Java中,反射机制的核心类是`java.lang.Class`,它代表了类的信息。通过反射,我们可以动态地创建对象、调用方法、访问字段,甚至在运行时发现和修改类的行为。以下是对Java反射使用及相关知识点的详细阐述: 1. ...

Global site tag (gtag.js) - Google Analytics