`
TRAMP_ZZY
  • 浏览: 139039 次
社区版块
存档分类
最新评论

Java 回调机制

    博客分类:
  • Java
阅读更多

Class A实现接口CallBack callback——背景1
class A中包含一个class B的引用b ——背景2
class B有一个参数为callback的方法f(CallBack callback) ——背景3


1. 异步的回调机制


public interface CallBack {
	public abstract void solve(String result);
}

public class Wang implements CallBack {

	private Li li;
	public Wang(Li li) {
		this.li = li;
	}
	
	public void askQuestion(final String question) {
		System.out.println("ask question : ");
		new Thread(new Runnable() {
			@Override
			public void run() {
				li.executeMessage(Wang.this, question);
			}
		}).start();
		
		play();
		
	}
	
	public void play() {
		System.out.println("i am out to do something.");
	}
	
	@Override
	public void solve(String result) {
		System.out.println("The answer is " + result);
	}

}

public class Li {

	public void executeMessage(CallBack callBack, String question) {
		System.out.println("the question is :" + question);
		for (int i=0; i<10000; i++) {
			
		}
		
		String result = "the answer is 2";
		callBack.solve(result);
	}
}

public class TestLi {

	public static void main(String[] args) {
		Li li = new Li();
		Wang wang = new Wang(li);
		wang.askQuestion("1+1 = ? ");
	}
	
}

interface CallBack{   //相当于接口InA  
    public void doCRUD();     
}    
  
public class A implements CallBack{//【背景1】  
    private B b;//【背景2】  
    public void doCRUD(){    
          System.out.println("执行add操作...");    
     }    
  
     public void add(){    
             b.execute(new A());//【you call me】    
        }    
}  
  
public class B{  
     public void execute(CallBack action){  //【背景3】  
            getConnection();    
            action.doCRUD();  //【i call you back】  
            releaseConnection();    
        }    
  
      public void getConnection(){    
            System.out.println("获得连接...");    
        }    
            
        public void releaseConnection(){    
            System.out.println("释放连接...");    
        }    
} 
分享到:
评论

相关推荐

    Java回调机制

    Java回调机制是软件设计模式中的一种,特别是在Java和Android开发中广泛应用。回调允许服务端对象在执行特定操作后,通知并调用客户端对象的方法。这种机制使得程序可以在异步环境中运行,即服务端处理完一个任务后...

    java回调机制1

    Java回调机制是一种编程模式,它允许一个对象在特定事件发生时调用另一个对象的方法。在上述例子中,回调机制的概念逐渐展开,通过一个简单的幼儿园加法故事进行解释。 首先,我们有`Student`类,它有一个`fill...

    浅谈JAVA回调机制1

    Java回调机制是一种编程概念,其核心在于一个对象(A)调用另一个对象(B)的方法,而这个方法内部又反过来调用A对象的另一个方法,形成一种链式反应。回调在多线程、异步处理和事件驱动编程中非常常见,因为它允许...

    两个经典例子让你彻底理解java回调机制(csdn)————程序.pdf

    Java回调机制是一种编程模式,它允许一个对象在另一个对象完成特定操作后被通知或调用。这种机制在软件设计中非常常见,特别是在处理异步操作和事件驱动编程中。通过回调,一个对象(调用者)可以注册一个回调函数或...

    java 回调函数 实现

    在回调机制中,接口扮演着关键角色,因为它定义了被调用的回调方法。例如,`OnButtonClickListener`接口可能包含了当按钮被点击时需要执行的方法。 2. **回调函数的实现**:在描述中提到,回调函数是通过自己模拟...

    java回调机制实例详解

    java回调机制实例详解 java回调机制是一种常见的设计模式,广泛应用于软件开发中。它允许一个对象在执行某个操作时,能够通知另一个对象,这样可以实现松耦合、灵活性强的编程模型。在java中,我们可以使用回调机制...

    Java回调机制解读

    Java回调机制是编程中一种非常重要的设计模式,它允许一个对象在另一个对象执行特定操作后得到通知或执行相应的处理。这种机制在Java中通常通过接口实现,使得被调用的对象能够在适当的时候调用回调方法来传递结果...

    给初学者的java回调demo

    Java回调是一种设计模式,它是当一个对象调用另一个对象的方法时,被调用对象通过某种方式在完成操作后反过来调用调用者的方法,这种机制就是回调。在Java中,回调通常通过接口或者抽象类来实现。这篇"给初学者的...

    如何用Java回调和线程实现异步调用.pdf

    Java回调机制可以分为两种:同步回调和异步回调。同步回调是在主程序中注册回调函数,等待耗时任务的完成后执行回调函数;异步回调是在耗时任务中注册回调函数,执行耗时任务后执行回调函数。 三、Java线程机制 ...

    通过简易例子讲解Java回调机制

    Java回调机制是一种设计模式,它允许一个对象在完成特定任务时通知另一个对象。这种机制使得代码更加灵活,因为被调用者可以在适当的时候主动调用调用者的某个方法,而不仅仅是被动地接收返回值。回调在多线程、事件...

    详解Java的回调机制

    Java的回调机制是一种设计模式,它允许一个对象在完成特定操作后通知另一个对象。这种机制在软件开发中常用于处理事件、异步编程以及对象间的通信。回调的主要优点是提高了代码的灵活性和可扩展性。 1. **回调的...

    Java基础核心理解+什么是回调即回调机制讲解

    ### Java基础核心理解+什么是回调及回调机制讲解 #### 一、回调机制的引入与应用场景 在软件开发中,特别是面向对象编程语言如Java中,模块间的交互是至关重要的。根据调用方式的不同,可以将模块间的交互分为三种...

    java回调函数

    Java回调函数是编程中一种非常重要的设计模式,它允许一个对象在另一个对象完成特定操作后进行通知或执行相应的处理。这种机制使得代码更加灵活,解耦了调用者和被调用者的依赖关系,通常用于事件处理、异步编程、...

    java调用回调机制详解

    Java回调机制是编程中一种常见的设计模式,它允许一个对象在特定事件发生时通知另一个对象。在Java中,回调机制通常通过接口实现,一个对象(称为回调对象)实现了特定的接口,然后将这个对象作为参数传递给另一个...

    Java回调.rar

    理解并熟练运用回调机制,能够帮助开发者编写出更加灵活、可维护的代码。在实际开发中,合理地利用回调能够提高程序的性能和用户体验,同时也有助于遵循面向对象设计原则,实现模块间的良好协作。

Global site tag (gtag.js) - Google Analytics