`

java Callback

    博客分类:
  • java
 
阅读更多
package net;

import java.util.ArrayList;
import java.util.List;

public class FZ {
	public static void main(String[] args) {
		B button = new B();
		button.clickButton(new A());

		System.out.println("----------------");
		C c = new C();
		c.startBatch();

	}
}

interface IListener {

	public void callBack(String data);
}

class A implements IListener {
	@Override
	public void callBack(String data) {
		System.out.println("do this thing...");
	}
}

class C implements IListener {
	private List<BBB> bbbs = new ArrayList<BBB>();

	public void startBatch() {
		for (int i = 0; i < 10; i++) {
			BBB bbb = new BBB(this);
			bbbs.add(bbb);
			bbb.start();
		}
	}

	@Override
	public void callBack(String data) {
		// TODO Auto-generated method stub
		System.out.println(data + " done!");
	}

}

class B {
	private IListener listener;

	public void clickButton(IListener listener) {
		this.listener = listener;
		// TODO do much time
		String data = "done!";
		listener.callBack(data);
	}

}

abstract class BB {
	private BB bb;

	abstract void clickButton(BB bb);

	public void ClickButton(BB bb) {
		// TODO spent log time thing
		bb.clickButton(bb);
	}

}

class BBB extends Thread {
	private IListener listener;

	public BBB(IListener listener) {
		this.listener = listener;
	}

	@Deprecated
	public void clickButton(IListener listener) {
		this.listener = listener;
		String data = "done!";
		listener.callBack(data);
	}

	public void doThings() {
		// TODO cost much time
		for (int i = 0; i < 100; i++) {
			System.err.println(Thread.currentThread().getName() + " => " + i);
		}
		listener.callBack(Thread.currentThread().getName());
	}

	@Override
	public void run() {
		doThings();
	}

}
分享到:
评论

相关推荐

    java CallBack(回调函数)

    Java回调函数,也称为Callback机制,是面向对象编程中一种重要的设计模式,它允许一个对象在其他对象执行特定操作后得到通知或者进行后续处理。在Java中,回调通常通过接口来实现,因为Java不支持函数指针。让我们...

    java callback

    java callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava ...

    Android java 回调例子

    相信很多初学android java的童鞋们都不太懂回调的意思,我当时也是这样的什么这个跳到那个然后又从那个调用这个的方法。。。弄得晕头转向的,今天我突然顿悟,于是写了一个回调例子与大家分享,由于手头分不多了,...

    Android APP 用interface 接口的形式对jni进行回调,实例测试

    Java_com_example_jnicallbackdemo_MainActivity_callJniMethod(JNIEnv *env, jobject /* this */, jobject callback) { // 获取JniCallback接口的类 jclass callbackClass = env-&gt;GetObjectClass(callback); //...

    Java_JNI_Callback.rar_4 3 2 1_J2SDK1.4.0_Java_JNI_Callback_cl.dl

    compile Callback.java 2. compile the native code into a shared lib cl /Ie:\j2sdk1.4.0\include /Ie:\j2sdk1.4.0\include\win32 /LD /FeMyImpOfCallback.dll Callback.c 3. run: java Callback

    jna_test.rar_JNA JAVA C_jna_jna 函数

    CallbackExample javaCallback = new CallbackExample() { @Override public int callback(int a, int b) { return a + b; } }; // 假设C函数为`void callWithCallback(Callback func)` lib....

    JavaCallback:一个java异步回调demo

    代码public class Demo { public static void main ( String args []) { Value v = new Value (); v . setSum( 0 ); v . getSUM(); for ( int i = 0 ; i &lt; 100 ; i ++ ) { System . out .... } while (v ....

    c调用java源码-article-java-callback:**[Java中的Lambda和其他回调](http://pzemtsov.g

    在IT行业中,跨语言通信是一项常见的任务,尤其是在Java和C这样的不同编程语言之间。本文将深入探讨如何在C中调用Java源码,并利用Java的Lambda表达式和其他回调机制进行高效交互。首先,我们需要理解Java Native ...

    java中Callback简单使用总结

    在Java编程中,Callback是一种设计模式,它允许一个对象在另一个对象完成特定操作后得到通知或进行后续处理。这种模式在异步编程、事件处理和框架设计中非常常见。当一个类A需要在完成某个任务后调用类B的方法,而这...

    Callback_Androidjni_AndoidJNI层到Java层的调用_android_android回调_

    在Android开发中,Java Native Interface (JNI) 是一个至关重要的工具,它允许Java代码与本地(C/C++)代码交互。本示例着重探讨如何从Android JNI层回调到Java层,这对于实现性能优化、利用现有C/C++库或处理特定...

    android JNI学习四实例

    Log.d("MainActivity", "Java callback method called!"); } } ``` ```c++ #include #include extern "C" JNIEXPORT void JNICALL Java_com_example_hellojni_MainActivity_callJavaMethod(JNIEnv *env, ...

    android 录音 及上传录音

    Callback callback = new Callback() { @Override public void onFailure(Call call, IOException e) { // 处理失败情况 } @Override public void onResponse(Call call, Response response) throws ...

    android 访问c# webservice 实现登陆注册功能(android 上传json到服务器)

    Callback callback = new Callback() { @Override public void onResponse(Call call, Response response) throws IOException { if (response.isSuccessful()) { String jsonResp = response.body().string();...

    【Java 设计模式-源码】Callback 模式:掌握异步通信

    在 Java 开发中,Callback 模式是一种重要的设计模式,用于处理异步通信和事件处理。本文将详细介绍 Callback 模式的意图、解释、编程示例、适用场景、实际应用、优点和权衡。同时,还将提供示例代码的下载链接,...

    okhttp的两种callback封装

    本文将深入探讨如何利用OkHttp进行网络请求,并封装两种Callback处理方式:一种是返回String类型,后续在子类进行JSON解析;另一种则是直接传入泛型的JavaBean,完成解析后再传回子类。 首先,了解OkHttp的基本用法...

    JAVA_API1.6文档(中文)

    javax.security.auth.callback 此包提供与应用程序进行交互所必需的类,以便检索信息(例如,包括用户名和密码的验证数据)或显示信息(例如,错误和警告消息)。 javax.security.auth.kerberos 此包包含与 ...

    获取联系人姓名和电话

    callback.onContactReceived(name, phoneNumber); ``` 在主界面实现这个接口,并在回调方法中更新EditText的内容。 5. **按钮点击事件**:在用户点击按钮时,启动一个意图 Intent,跳转到系统联系人选择界面,...

    使用Java实现回调函数代码示例callback.zip

    使用Java实现回调函数代码示例,在Java中,回调函数通常是通过接口实现的。接口定义了回调方法,实现了该接口的类在特定事件发生时会调用这些方法。代码中TaskExecutor 类有一个执行任务的方法,它接受一个实现了 ...

Global site tag (gtag.js) - Google Analytics