【发布时间】:2009-11-20 22:04:40
【问题描述】:
我正在用 Java 实现一种 ORM。我正在尝试做一个仅在父类中的静态查找方法。让我进入正题:
public class DB {
public static Object find (int id) {
// i want to return anew instance of the calling subclass
}
}
public class Item extends DB {
// nothing here
}
public class Test {
public static void main () {
Item i = (Item) Item.find(2);
...
}
}
我不知道如何让 find 方法知道它的哪个继承类正在调用它,以便我可以返回正确的实例(并且可能调用正确的构造函数等)并且继承的类可以是任何东西, 没有限制。
我尝试过stacktrace,但它只是从Test 跟踪到DB。
有什么想法吗?
谢谢大家!
【问题讨论】:
-
不幸的是,这是一个家庭作业项目。我们不能使用第三方软件(Java 大声笑除外)。无论如何,谢谢你的所有答案,他们非常有帮助!
标签: java reflection orm static-methods