1. 程式人生 > >Java函數的聯級調用

Java函數的聯級調用

public println 模仿 incr string類型 級聯 http upper 類型

String類的方法可以連續調用: String str="abc"; String result=str.trim().toUpperCase().concat("defg");

請閱讀JDK中String類上述方法的源碼,模仿其編程方式,編寫一個MyCounter類,它的方法也支持上述的“級聯”調用特性,

其調用示例為:

MyCounter counter1=new MyCounter(1);

MyCounter counter2=counter1.increase(100).decrease(2).increase(3);

….

程序的源碼:

public class Mycounter {
private int a;
	public Mycounter()
	{
		
	}
	public Mycounter(int a)
	{
		this.a=a;
	}
	public Mycounter increase(int x)
	{
		this.a=this.a+x;
		return this;
	}
	public Mycounter decrease(int x)
	{
		this.a=this.a-x;
		return this;
	}
	public static void main(String[] args) {
		Mycounter counter1=new Mycounter(1);
		Mycounter counter2=counter1.increase(100).decrease(45);
		System.out.println(counter2.a);

	}

}

  程序的結果截圖為:

  1. 技術分享

註:在該程序中,如果想實現類似string類型那樣的聯級調用,每個函數的類型應該是該程序中的本類,返回該類的對象用this 指針。

Java函數的聯級調用