用过jQuery的都应该知道,jQuery里有很多函数都是可以连续操作的,叫链式操作,比如
$(".div1").css("background","#000").show().siblings().hide()
今天网上找了个mybatis的Generator,该程序可以自动生成数据库实体类,映射文件,操作接口,同时有个example类,不得不说很好用。example类是用来对查询进行条件筛选的。查看源码发现里面有一段代码是这样的:
public Criteria andIdNotEqualTo(String value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
方法中返回了this,也就是当前对象,这样调用完这个方法之后就又可以调用对象的方法了,类似jq链式操作,以前没注意到还可以这么干 。
public class Demo {
private int num;
public Demo(){
this.num=0;
}
public Demo add(){
num++;
return this;
}
public int getNum(){
return num;
}
public static void main(String\[\] args) {
Demo demo=new Demo();
demo.add().add().add();
System.out.println(demo.getNum());
}
}
打印的结果是3
js中这样做的话挺方便的,但是在JAVA中就感觉有点乱,不建议这么做。