MyException - 我的异常网
当前位置:我的异常网» J2SE » java的一段程序,不知道是什么方法,哪位高手跟小弟

java的一段程序,不知道是什么方法,哪位高手跟小弟我解释一下,多谢了!

www.MyException.Cn  网友分享于:2013-03-27  浏览:1次
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方法在接口中声明呢?

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有