4
我有一个代码:从一个普通的静态方法获取类的名字在Java中
Model.java:
public abstract class Model <T> {
public static <T> T find(int id) {
T result = (T) blackMagicMethod(T.class, id);
return result;
}
}
,User.java
public class User extends Model<User> {
}
,Main.java:
public class Main {
public static void main(String[] args) {
System.out.println(User.find(1));
}
}
,blackMagicMethod:
public Object blackMagicMethod(Class clazz, int id) {}
行blackMagicMethod(T.class, id)
不工作,像Getting the class name from a static method in Java描述的任何黑客。
我该如何让这段代码工作?
添加类令牌构造也没用这里的方法是静态的(和通用)。你需要将它传递给'find'方法本身。 – 2012-02-13 15:32:04
如何在静态方法中使用实例变量? – 2012-02-13 15:32:44
Ooops。答案已更新。 – aioobe 2012-02-13 15:43:22