用过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中就感觉有点乱,不建议这么做。