Java函數的聯級調用
阿新 • • 發佈:2017-10-26
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); } }
程序的結果截圖為:
註:在該程序中,如果想實現類似string類型那樣的聯級調用,每個函數的類型應該是該程序中的本類,返回該類的對象用this 指針。
Java函數的聯級調用