JAVA中实现链式操作(方法链)的简单例子
在使用jQuery时候,我们经常会看到或者使用到方法链,例如:
$("#p1").css("color","red").slideUp(2000).slideDown(2000);
这段代码的意思是选择器选择id为p1的html标签,颜色变红,之后slideup,再slidedown。
自然是可以将这几个方法分开写,但是不分开的话不仅有很好的易读性,代码量也会有减少,那么何乐而不为?
这种调用函数的方式在jQuery中称为“Chaining”,原理也很简单:能够chaining的方法调用后返回对象本身即可。
下面用java代码做个演示:
不使用chaining:
Persion.java:
public class Persion {
private int id;
private String name;
private String phoneNumber;
private String address;
public Persion() {
}
public void setId(int id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public void setAddress(String address) {
this.address = address;
}
public void printId() {
System.out.println(this.id);
}
public void printName() {
System.out.println(this.name);
}
public void printPhoneNumber() {
System.out.println(this.phoneNumber);
}
public void printAddress() {
System.out.println(this.address);
}
}
Test.java:
复制代码 代码如下:
public class Test {
public static void main(String[] args) {
Persion persion1 = new Persion();
persion1.setId(3);
persion1.setName("John");
persion1.setPhoneNumber("1111111");
persion1.setAddress("US");
persion1.printId();
persion1.printName();
persion1.printPhoneNumber();
persion1.printAddress();
}
}
使用chaining:
Persion.java:
public class Persion {
private int id;
private String name;
private String phoneNumber;
private String address;
public Persion() {
}
public Persion setId(int id) {
this.id = id;
return this;
}
public Persion setName(String name) {
this.name = name;
return this;
}
public Persion setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
return this;
}
public Persion setAddress(String address) {
this.address = address;
return this;
}
public Persion printId() {
System.out.println(this.id);
return this;
}
public Persion printName() {
System.out.println(this.name);
return this;
}
public Persion printPhoneNumber() {
System.out.println(this.phoneNumber);
return this;
}
public Persion printAddress() {
System.out.println(this.address);
return this;
}
}
Test.java:
复制代码 代码如下:
public class Test {
public static void main(String[] args) {
Persion persion1 = new Persion();
persion1.setId(3).setName("John")
.setPhoneNumber("1111111").setAddress("US");
persion1.printId()
.printName()
.printPhoneNumber()
.printAddress();
}
}
好诡异的感觉~哈哈!
您可能感兴趣的文章:
- JAVA中实现链式操作(方法链)的简单例子
- JAVA中实现链式操作(方法链)的简单例子
- dwr+maven实现java和js方法互相调用,实现推送, 完整切超简单例子
- Java List 实现排序的简单方法
- PL/SQL实现JAVA中的split()方法的小例子
- Java实现简单修改文件名的方法分析
- Java简单实现几种常见排序方法
- 设计模式之—简单工厂方法(StaticFactory )-Java实现
- Java版C语言版简单使用静态语言实现动态数组的方法
- java简单网页抓取的实现方法
- 使用DWR实现JS调用JAVA类的简单例子
- 图灵机器人(智能云交互API)的一个java实现简单例子
- Ajax - JavaScript之实现私有属性、像C++和Java一样支持基于类的继承方法之例子
- 委托的匿名方法简单例子(2。0实现)
- iOS使用http post多图片上传带描述+java后台服务器,简单实现例子.
- Java AES加密解密的简单实现方法
- 用简单工厂方法设计的数据库查询(JAVA代码实现)
- dwr例子2调用有简单参数的java方法
- java 字符串作为freemarker模板的简单实现例子
- 【java学习记录】12.用Socket网络访问方法,实现简单的网络聊天程序