gpt4 book ai didi

java - 当构造函数初始化参数时从泛型类创建实例

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:48:55 36 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
How to create instance of a class with the parameters in the constructor using reflection?

这有可能发生吗?如何发生?我有一个类 Gerbil :

public class Gerbil {
private int gerbilNumber;
public Gerbil(int gn){
this.gerbilNumber = gn;
}
public void hop() {
System.out.println("It's gerbil number" + this.gerbilNumber + "and it's hopping.");
}

}

我有一个泛型类TestGenerics:

public class TestGenerics<T> {
private Class<T> mClass;

public TestGenerics(Class<T> cls){
mClass = cls;
}

public T get(){
try{
return mClass.newInstance();
}catch(Exception e){
e.printStackTrace();
return null;
}
}
}

还有一个类:

public class HelloWorld {
public static void main(String[] args) {
TestGenerics<Gerbil> g = new TestGenerics<Gerbil>(Gerbil.class);
Gerbil a = g.get();
a.hop();
}
}

问题是我需要为 Gerbil 的构造函数提供一个整数值,但不知道如何(如果可能)。否则,如果我保留一个空/默认构造函数,代码可以正常工作,但是当真实类的构造函数需要传递参数时,是否可以使实例形成泛型类?

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