2011-06-25 5 views
0

私はJavaでORMを開発しています。私はこれをしたい。スーパークラスの静的メソッドでインスタンス化するサブクラス

class Model { 
    public static Model find(Object id) { 
    } 
} 

class User extends Model; 
class Post extends Model; 

User user = User.find(15); 
Post post = Post.find(1325); 

どうすればこのようにすることができますか?メソッドを見つけるためにClassオブジェクトを渡したくありません。

答えて

2

この操作は行わないでください。スーパークラスは、それがどのように拡張されるかを決して知ることができません。代わりに

使用ジェネリック:

package persistence; 

public interface GenericDao<T, K extends Serializable> 
{ 
    T find(K id); 
    K save(T value); 
    void update(T value); 
    void delete(T value); 
} 
関連する問題