A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© luojiawen 中级黑马   /  2016-7-8 12:10  /  796 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

作为菜鸟的我,感觉链式编程,好像能理解,但是每次做题好像自己不能第一时间敲出来,因为按照思路都是一步一步去实现的,现在需要花大量时间去研究吗,还是先按照自己的思路把题目做好,到了就业班再好好地去联系链式编程。。。。

4 个回复

倒序浏览
练题练着练着就会了吧
回复 使用道具 举报
链式编程并没有想像中的那么难,其实很好理解。
举个栗子:
Student s = new Student();
String name = s.getName();
name = name.replace(" ", "");
这三行代码的意思很简单,就是把Student类的对象s的name属性取出来,然后把name里面的空格去掉。
如果用链式编程,就是这样写:
Student s = new Student();
String name = s.getName().replace(" ", "");
问题就出在:s.getName()之后为什么还可以继续打点调方法呢?
链式编程的前提是,方法必须返回一个对象,然后这个对象还可以继续调用方法,依此类推。
方法s.getName()返回值是一个String对象,而String对象又可以继续调用String类中的方法,所以可以继续调用replace()方法,而replace()方法也会返回一个String对象,所以还可以继续链式调用,即继续调用String类的方法。如果继续调用的方法是split()方法,那么该方法返回的是一个数组对象,就只能调用数组的功能了,不能再调用String的功能。
链式编程无非是简化了代码而已。如果你真的不会,就一步一步的写,一样的。
回复 使用道具 举报
huangruqi888 发表于 2016-7-8 16:11
链式编程并没有想像中的那么难,其实很好理解。
举个栗子:
Student s = new Student();

原来这种就叫链式编程 ,幸好我会了
回复 使用道具 举报
原来这种就叫链式编程 ,涨姿势了{:2_41:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马