【发布时间】:2013-09-11 14:30:48
【问题描述】:
我有一个这样的主类:
public class MainClass() {
public Class<? extends Object> myType;
// This does not work, but thats what I want:
public MainClass(Class<? extends Object> type) {
myType = type;
}
public void myMethod(Object<myType> myParameter) {
// Do stuff
}
}
还有一些扩展这个类的类,例如:
public class ChildClass() extends MainClass {
public ChildClass() {
super((Class<? extends Object>) String.class);
// this should be changeable to what ever class then String.class
}
}
如何创建具有可变类类型的父方法?
代码myMethod(Object<myType> obj); 无效。
【问题讨论】:
-
类
java.lang.Object不带类型参数,所以Object<Whatever>是行不通的。 -
myType 是变量,而不是类,我想你不能这样使用它。你的代码对我来说似乎很可疑,你想完成什么?
-
? extends Object和刚才说的?不一样 -
我猜
ChildClass扩展了MainClass,但在您的代码中缺失