- Java.lang 包类
- Java.lang - 首页
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包其他内容
- Java.lang - 接口
- Java.lang - 错误
- Java.lang - 异常
- Java.lang 包有用资源
- Java.lang -有用资源
- Java.lang - 讨论
Java Class getDeclaredConstructor() 方法
描述
Java Class getDeclaredConstructor() 方法返回一个 Constructor 对象,该对象反映由此 Class 对象表示的类或接口的指定构造函数。parameterTypes 参数是一个 Class 对象数组,按声明顺序标识构造函数的形式参数类型。
声明
以下是 java.lang.Class.getDeclaredConstructor() 方法的声明
public Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes) throws NoSuchMethodException, SecurityException
参数
parameterTypes − 这是一个参数数组。
返回值
此方法返回具有指定参数列表的构造函数的 Constructor 对象。
异常
NoSuchMethodException − 如果找不到匹配的方法。
SecurityException − 如果存在安全管理器 s。
获取类的声明构造函数示例
以下示例演示了 java.lang.Class.getDeclaredConstructor() 方法的用法。在这个程序中,我们创建了一个 ClassDemo 的实例,然后使用 getClass() 方法检索实例的类。在 ClassDemo 中,我们有两个构造函数。现在使用 getDeclaredConstructor(),我们检索了一个带有两个参数的构造函数并打印它。
package com.tutorialspoint; import java.lang.reflect.Constructor; 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); }
输出
让我们编译并运行上面的程序,这将产生以下结果:
Constructor = public ClassDemo(java.lang.Double,java.lang.Long)
获取类的声明无参构造函数示例
以下示例演示了 java.lang.Class.getDeclaredConstructor() 方法的用法。在这个程序中,我们创建了一个 ClassDemo 的实例,然后使用 getClass() 方法检索实例的类。在 ClassDemo 中,我们有两个构造函数。现在使用 getDeclaredConstructor(),我们检索了一个无参构造函数并打印它。
package com.tutorialspoint; import java.lang.reflect.Constructor; public class ClassDemo { public static void main(String[] args) { try { ClassDemo cls = new ClassDemo(); Class c = cls.getClass(); // constructor with no argument Constructor ct = c.getDeclaredConstructor(); 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); }
输出
让我们编译并运行上面的程序,这将产生以下结果:
Constructor = private com.tutorialspoint.ClassDemo()
获取 ArrayList 的声明无参构造函数示例
以下示例演示了 java.lang.Class.getDeclaredConstructor() 方法的用法。在这个程序中,我们检索了 ArrayList 的类。现在使用 getDeclaredConstructor(),我们检索了一个无参构造函数并打印它。
package com.tutorialspoint; import java.lang.reflect.Constructor; import java.util.ArrayList; public class ClassDemo { public static void main(String[] args) { try { Class c = ArrayList.class; // constructor with no argument Constructor ct = c.getDeclaredConstructor(); System.out.println("Constructor = " + ct.toString()); } catch(NoSuchMethodException e) { System.out.println(e.toString()); } catch(SecurityException e) { System.out.println(e.toString()); } } }
输出
让我们编译并运行上面的程序,这将产生以下结果:
Constructor = public java.util.ArrayList()