public interface IUserDao {
public User findByEmpCodeAndPassword(User user) throws Exception;
}
public class UserDaoImpl implements IUserDao {
public User findByEmpCodeAndPassword(User user) throws Exception {
List<User> list = (List<User>) getHibernateTemplate().findByExample(
user);
return list.size() > 0 ? list.get(0) : null;
}
public void save(T object) {
getHibernateTemplate().save(object);
}
}public class UserService {
private IUserDao userDao;
public ServiceReturns<User> save(User user) throws Exception {
((UserDaoImpl) userDao).saveOrUpdate(user);}}在上面的程序中,((UserDaoImpl) userDao).save(user);这句话为什么可以这样写,是强制转换还是父类引用指向子类对象呢???userDao里面没有save方法,而UserDaoImpl里面有,这种写法叫什么??
public User findByEmpCodeAndPassword(User user) throws Exception;
}
public class UserDaoImpl implements IUserDao {
public User findByEmpCodeAndPassword(User user) throws Exception {
List<User> list = (List<User>) getHibernateTemplate().findByExample(
user);
return list.size() > 0 ? list.get(0) : null;
}
public void save(T object) {
getHibernateTemplate().save(object);
}
}public class UserService {
private IUserDao userDao;
public ServiceReturns<User> save(User user) throws Exception {
((UserDaoImpl) userDao).saveOrUpdate(user);}}在上面的程序中,((UserDaoImpl) userDao).save(user);这句话为什么可以这样写,是强制转换还是父类引用指向子类对象呢???userDao里面没有save方法,而UserDaoImpl里面有,这种写法叫什么??
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货