获取所有Java构造函数

方法java.lang.Class.getConstructors()可用于返回一个数组,该数组具有与该类的对象所表示的该类的公共构造函数相对应的所有构造函数对象。

演示此的程序如下所示-

示例

package Test;
import java.lang.reflect.*;
public class Demo {
   public static void main(String[] args) {
      try {
         System.out.println("字符串构造函数是:");
         Constructor c[] = String.class.getConstructors();
         for(int i = 0; i < c.length; i++) {
            System.out.println(c[i]);
         }
      }
      catch (Exception e) {
         System.out.println(e);
      }
   }
}

输出结果

字符串构造函数是:
public java.lang.String(byte[],int,int)
public java.lang.String(byte[],java.nio.charset.Charset)
public java.lang.String(byte[],java.lang.String) throws java.io.UnsupportedEncodingException
public java.lang.String(byte[],int,int,java.nio.charset.Charset)
public java.lang.String(byte[],int,int,java.lang.String) throws

java.io.UnsupportedEncodingException
public java.lang.String(java.lang.StringBuilder)
public java.lang.String(java.lang.StringBuffer)
public java.lang.String(byte[])
public java.lang.String(int[],int,int)
java.lang.String()

public java.lang.String(char[])
public java.lang.String(java.lang.String)
public java.lang.String(char[],int,int)
public java.lang.String(byte[],int)
public java.lang.String(byte[],int,int,int)

现在让我们了解上面的程序。

该方法getConstructors()用于获取String类的所有构造函数。这些构造函数存储在数组c []中,然后使用for循环显示。演示这的代码片段如下-

System.out.println("字符串构造函数是:");
Constructor c[] = String.class.getConstructors();
for(int i = 0; i < c.length; i++) {
   System.out.println(c[i]);
}