Java函数的联级调用

Posted ★若风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java函数的联级调用相关的知识,希望对你有一定的参考价值。

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函数的联级调用的主要内容,如果未能解决你的问题,请参考以下文章

调用模板化成员函数:帮助我理解另一个 *** 帖子中的代码片段

php 一个自定义的try..catch包装器代码片段,用于执行模型函数,使其成为一个单行函数调用

mybatis一对多双层嵌套查询

如何将数据从回收器适配器发送到片段 |如何从 recyclerview 适配器调用片段函数

虚函数相关问题分析

如何测量代码片段的调用次数和经过时间