Java 如何声明变量类型的对象
如何声明变量类型的对象?我知道我需要使用泛型,我已经写了这段代码,但我不确定它是否对我想做的事情有意义。 我想声明一个变量类型的对象,并传递一个int或字符串作为对象构造函数的参数。 以下是我编写的代码:Java 如何声明变量类型的对象,java,oop,generics,Java,Oop,Generics,如何声明变量类型的对象?我知道我需要使用泛型,我已经写了这段代码,但我不确定它是否对我想做的事情有意义。 我想声明一个变量类型的对象,并传递一个int或字符串作为对象构造函数的参数。 以下是我编写的代码: CityOp(String CityT, Class<?>[] par) throws ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchMethodException, Se
CityOp(String CityT, Class<?>[] par) throws ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchMethodException, SecurityException{
Class<?> co = Class.forName(CityT);
Op.getDeclaredConstructor(par);
}
CityOp(字符串CityT,Class[]par)抛出ClassNotFoundException、InstanceionException、IllegaAccessException、NoSuchMethodException、SecurityException{
Class co=Class.forName(CityT);
Op.getDeclaredConstructor(par);
}
代码有意义吗?这个问题对我来说似乎有点不清楚。如果希望为第一个参数传入
字符串
或int
,并且第二个参数必须与第一个参数的类型匹配,则可以使用泛型类来完成此操作,如下所示:
public class CityOp<T> {
CityOp(T cityT, T[] par) throws ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchMethodException, SecurityException{
// Constructor body here
}
}
公共类城市地图{
CityOp(T cityT,T[]par)抛出ClassNotFoundException、InstanceionException、IllegaAccessException、NoSuchMethodException、SecurityException{
//构造器主体在这里
}
}
这个问题对我来说似乎有点不清楚。如果希望为第一个参数传入字符串
或int
,并且第二个参数必须与第一个参数的类型匹配,则可以使用泛型类来完成此操作,如下所示:
public class CityOp<T> {
CityOp(T cityT, T[] par) throws ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchMethodException, SecurityException{
// Constructor body here
}
}
公共类城市地图{
CityOp(T cityT,T[]par)抛出ClassNotFoundException、InstanceionException、IllegaAccessException、NoSuchMethodException、SecurityException{
//构造器主体在这里
}
}
你不应该大写cityT,但是当我们不知道你到底想做什么的时候,很难帮上忙。你是说像c#或javascript中的var吗?如果你想只传递一个字符串或int,为什么不只传递两个构造函数,CityOp(String s,String t)
和CityOp(字符串s,int i)
?如果你创建一个泛型类,那么它需要能够接受任何东西,而不仅仅是字符串或int。好吧,你不应该大写cityT,但当我们不知道你实际上在尝试做什么的时候,很难帮上忙。你是说像c#或javascript中的var这样的东西吗?如果你只想传递字符串或int,为什么不仅仅有两个构造函数,CityOp(String s,String t)
和CityOp(String s,int i)
?如果创建泛型类,那么它需要能够接受任何东西,而不仅仅是字符串或int。