JAVA里边的回调和闭包

widuu 2013-7-10 JAVA学习 3,547 0 喜欢 (0)

PHP在5.3之后就增加了闭包的支持,我一直认为PHP就一直在模仿java不知道说这句话对不对,但是今天我给大家讲的就是java来实现回调和闭包,java的闭包是仿闭包,是用非静态内部类实现的,举个例子同一个方法我要实现不同的功能怎么实现?来来看下边的代码
[php]
/*
*@author widuu
*@license http://www.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()方法
}
}
[/php]
[php]
//利用仿闭包和回调方法实现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();
}
}
[/php]
测试代码
[php]
public class TestProgram {
public static void main(String args[]){
ChProgram c = new ChProgram("小驴哥");
c.work();
c.getCallback().work();
}
}

[/php]

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

转载请注明来自微度网络,本文标题:《JAVA里边的回调和闭包》

喜欢 0 发布评论
Top