I have a abstract class about crawler:
public abstract class AbstractCrawler {
public AbstractCrawler(){
initialize();
}
protected abstract void initialize();
protected abstract void work();
protected abstract void saveAndUpdate(Object obj);
}
As you can see,abstract method of "saveAndUpdate" needs the param of Object,Because,each crawler extends this abstract will save or update different data type,like this:
public class UserCrawler extends AbstractCrawler{
@Override
protected void saveAndUpdate(List<User> obj) {
// TODO Auto-generated method stub
}
}
and class of CommentCrawler:
public class CommentCrawler extends AbstractCrawler{
@Override
protected void saveAndUpdate(List<Comment> obj) {
// TODO Auto-generated method stub
}
}
It's pretty obvious, just do something like this.Making abstract class more concise.