PHP在5.3之后就增加了闭包的支持,我一直认为PHP就一直在模仿java不知道说这句话对不对,但是今天我给大家讲的就是java来实现回调和闭包,java的闭包是仿闭包,是用非静态内部类实现的,举个例子同一个方法我要实现不同的功能怎么实现?来来看下边的代码

/*
 *@author       widuu 
 *@license	http://yun.widuu.com
 *@description  由于这些日子好多人采集微博,可以但是留个出处毕竟作者分享也不容易
 */
interface Me{
	void work();  //申明一个借口work方法
}
public class Program {
	private String name;
	
	public Program(){}
	public Program(String name){
		this.name = name;
	}
	public String getname(){
		return this.name;
	}
	public void work(){
		System.out.println(name+"正在写博客"); //写一个类work()方法
	}
}
//利用仿闭包和回调方法实现work()
public class ChProgram extends Program{
	public ChProgram(){}
	public ChProgram(String name){
		super(name);
	}
        //继承了父类的work方法 public void work(){}
	private void myword(){
		System.out.println(getname()+"我的工作是写程序代码");
	}
       //内部类实现接口work()方法
	private class Fword implements Me{
		public void work(){
			myword();
		}
	}
        //回调方法 
	public Me getCallback(){
		return new Fword();
	}
}
测试代码
public class TestProgram {
	public static void main(String args[]){
		ChProgram c = new ChProgram("小驴哥");
		c.work();
		c.getCallback().work();
	}
}

近些日子,发现好多网站复制粘贴我的文章,本来文章是分享的这个我不存在什么意义,就是希望毕竟博主也不容易,大家复制粘贴的时候,写个出处谢谢!

点赞(0) 打赏

Comment list 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部