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(); } }近些日子,发现好多网站复制粘贴我的文章,本来文章是分享的这个我不存在什么意义,就是希望毕竟博主也不容易,大家复制粘贴的时候,写个出处谢谢!
发表评论 取消回复