java分层思想

StudentBizsb=newStudentBiz();StudentDaoImplsdi=newStudentDaoImpl();sb.setStudentDao(s... StudentBiz sb = new StudentBiz();
StudentDaoImpl sdi = new StudentDaoImpl();
sb.setStudentDao(sdi);
大神们请为我详细讲解一下第三条语句的作用!!
展开
 我来答
依然十分迷茫
2013-11-02 · 超过15用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:22.5万
展开全部
StudentDaoImpl应该是实现某个接口的类吧,
StudentBiz 应该有个StudentDao变量吧,

这样做是为了提高代码的复用性和灵活性,假如有很多学生,但是每个学生的操作方法又不一样,这时候可以根据需要设置不同的操作方法,即sb.setStudentDao(sdi)语句中sdi。

总的来说,就是这样写很灵活,而且比较有层次感,你要是把StudentDao写死在StudentBiz 中的话,那就不灵活了。
追问
对我后面实现增删改查的功能有什么作用
没写这句,我向数据库里增加一条信息的时候出现NULL
追答
你这个StudentDao在StudentBiz应该没有初始化,最后这句是表示你初始化了StudentDao,你看看
是不是StudentBiz类中仅仅有一句创建变量的语句
百度网友6bfc944
2013-11-02 · TA获得超过746个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:290万
展开全部
前2句 是分别 创建并实列化对象
第3句是调用方法
java里面 用对象名.方法名 ,这样调用方法。(静态类除过,静态类 ,直接类名.方法名)

所以第3句的意思是,sb这个对象,调用sb这个对象里面的setStudentDao()这个方法。并且传了一个sdi对象参数
追问
对我后面实现增删改查的功能有什么作用
没写这句,我向数据库里增加一条信息的时候出现NULL
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bdbdwzf
2013-11-02 · 超过22用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:50.9万
展开全部
你的StudentBiz 类中有.setStudentDao(类)这个方法名吧?那么StudentBiz就有StudentDaoImpl 类型的一个成员变量,这个第三条语句就是为这个变量赋值的
追问
对我后面实现增删改查的功能有什么作用
没写这句,我向数据库里增加一条信息的时候出现NULL
追答
这是用方法来给变量赋值嘛,你根据一个没这个变量值得对象插入数据库,当然会是null啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式