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