Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何找到JAVA类的构造函数和所需的输入?_Java_Variables_Constructor_Args - Fatal编程技术网

如何找到JAVA类的构造函数和所需的输入?

如何找到JAVA类的构造函数和所需的输入?,java,variables,constructor,args,Java,Variables,Constructor,Args,我试图了解正确初始化java对象需要哪些构造函数和输入参数 我无法访问纯文本.java文件,只能访问编译后的.class 我尝试了下面的代码,但当我运行找到的任何示例命令时。 没有打印出来,否则我会收到一堆异常。异常看起来被抛出,因为找不到任何内容 import java.lang.reflect.Constructor; import java.lang.reflect.Type; import static java.lang.System.out; public class Constru

我试图了解正确初始化java对象需要哪些构造函数和输入参数

我无法访问纯文本.java文件,只能访问编译后的.class

我尝试了下面的代码,但当我运行找到的任何示例命令时。 没有打印出来,否则我会收到一堆异常。异常看起来被抛出,因为找不到任何内容

import java.lang.reflect.Constructor;
import java.lang.reflect.Type;
import static java.lang.System.out;
public class ConstructorSift {
    public static void main(String... args) {
        try {
            Class<?> cArg = Class.forName(args[1]);

            Class<?> c = Class.forName(args[0]);
            Constructor[] allConstructors = c.getDeclaredConstructors();
            for (Constructor ctor : allConstructors) {
                Class<?>[] pType  = ctor.getParameterTypes();
                for (int i = 0; i < pType.length; i++) {
                    if (pType[i].equals(cArg)) {
                        out.format("%s%n", ctor.toGenericString());

                        Type[] gpType = ctor.getGenericParameterTypes();
                        for (int j = 0; j < gpType.length; j++) {
                            char ch = (pType[j].equals(cArg) ? '*' : ' ');
                            out.format("%7c%s[%d]: %s%n", ch,
                                "GenericParameterType", j, gpType[j]);
                        }
                        break;
                    }
                }
            }
            // production code should handle this exception more gracefully
        } catch (ClassNotFoundException x) {
            x.printStackTrace();
        }
    }
}

我不是java程序员。谢谢

您可以使用Java工具集中的命令。

使用javap命令。如果你有一个IDE,即使是没有源代码的编译类,你也可以获得制表符完成。如果你使用的是没有Javadoc的类,你不应该这样做。@HackerGK-WIN。请回答,我会把它标对的。