gpt4 book ai didi

java - 从传递的类参数返回对象

转载 作者:行者123 更新时间:2023-12-01 18:29:25 25 4
gpt4 key购买 nike

在我的程序中,我有一个抽象类 A 和一些从 A 扩展的其他类。以下是我的代码的一些摘录:

public abstract class A {
public A(int[] values) {
// ...
}
}

public class B extends A {
public B(int[] values) {
super(values);
// setup other things
}
}

// some more classes like B

现在我有一个类,它从文件中读取一些整数值并将它们写入数组中。这个类只有静态方法,我想从传递的类返回一个对象。使用这段代码,我可以将类 B 赋予该方法,但是如何在调用该方法的情况下创建并返回该类的对象?我尝试过这个:

B obj = Reader.readFromFile(path, B.class);

public class Reader {
public static *** readFromFile(String path, Class<? extends A> c) {
// read out the file and store values in an array
// how can I create an object of the parameter c and return it from here?
}
}

I do not want to make the whole class generic. Any ideas how to do this or is this not possible in Java?

最佳答案

您可以通过反射创建提供的类的实例。在您的情况下,您需要通过 c.getConstructor(int[].class) 获得正确的构造函数然后创建新对象调用 newInstance(...)该构造函数的方法

关于java - 从传递的类参数返回对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24957269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com