读书人

java的一段程序不知道是什么方法哪

发布时间: 2012-12-18 12:43:41 作者: rapoo

java的一段程序,不知道是什么方法,谁跟我解释一下,谢谢了!!
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里面有,这种写法叫什么??




[最优解释]
强制向下转换。这么转必需有继承关系才行。一看就是框架代码。太恶心了。。。
[其他解释]
为什么不把save方法在接口中声明呢?

读书人网 >J2SE开发

热点推荐