java中callback

简介: 1。首先回调方法的概念与“构造方法”的概念是不一样的,它不是指java中某个具有特殊意义或用途的方法。

1。首先回调方法的概念与“构造方法”的概念是不一样的,它不是指java中某个具有特殊意义或用途的方法。


2。称它为方法的“回调”更恰当一些,它是指方法的一种调用方式。任何一个被“回调”的方法,皆可称之为“回调方法”


3。方法的回调通常发生在“java接口”和“抽象类”的使用过程中。


假设有接口名为 ICallBack 其中有方法名为postExec()


有类Myclass 实现了该接口,


也就是一定实现了postExec()这个方法。


现在有另一个类FooBar它有个方法 setCallBack(ICallBack callBack) ,


并且setCallBack方法调用了callBack的postExec()方法。


如果现在,我们使用一个Myclass 的实例myClass,将它作为参数带入到setCallBack(ICallBack callBack)方法中,我们就说setCallBack(ICallBack callBack)方法回调了myClass的postExec()方法。


//声明一个接口


public interface ActionListener{ actionPerformed(ActionEvent e); }


//另外一个类有方法里面有个参数以是这个接口类型的


``

public class Button {
  addActionListener(ActionListener l)//参数为接口
  {
    l.actionPerformed(e);
  }
}
复制代码


回调的实现


button.addActionListener(new ActionListener() {//接口的实例化
      @Override
    public void actionPerformed(ActionEvent e) {
    }
  });
复制代码


总结:定义一个接口,在另一个类中提前消费接口中得方法,在实例化时必须传入此接口,但是接口不能实例化,必须实现该接口,继承,匿名类默认继承了该接口



目录
相关文章
|
7月前
java.lang.NoClassDefFoundError: com/sun/jna/Callback
java.lang.NoClassDefFoundError: com/sun/jna/Callback
|
8月前
|
设计模式 Java
【设计模式】JAVA Design Patterns——Callback(回调模式)
【设计模式】JAVA Design Patterns——Callback(回调模式)
java_回调函数Callback
分为了三种回调函数,从简单到难,也挺好理解
131 0
JAVA回调函数简单讲解 CallBack
JAVA回调函数简单讲解 CallBack
430 0
JAVA回调函数简单讲解 CallBack
|
Java Android开发
java之简单的Callback使用总结
java之简单的Callback使用总结
428 0
|
Java 程序员 Android开发
【转载】谈谈我对Java中CallBack的理解
谈谈我对Java中CallBack的理解 转载自: http://www.cnblogs.com/codingmyworld/archive/2011/07/22/2113514.html   CallBack是回调的意思,熟悉Windows编程的人对"回调函数"这四个字一定不会陌生,但是Java程序员对它可能就不太了解了。
1029 0
|
8天前
|
Java
Java—多线程实现生产消费者
本文介绍了多线程实现生产消费者模式的三个版本。Version1包含四个类:`Producer`(生产者)、`Consumer`(消费者)、`Resource`(公共资源)和`TestMain`(测试类)。通过`synchronized`和`wait/notify`机制控制线程同步,但存在多个生产者或消费者时可能出现多次生产和消费的问题。 Version2将`if`改为`while`,解决了多次生产和消费的问题,但仍可能因`notify()`随机唤醒线程而导致死锁。因此,引入了`notifyAll()`来唤醒所有等待线程,但这会带来性能问题。
Java—多线程实现生产消费者
|
10天前
|
安全 Java Kotlin
Java多线程——synchronized、volatile 保障可见性
Java多线程中,`synchronized` 和 `volatile` 关键字用于保障可见性。`synchronized` 保证原子性、可见性和有序性,通过锁机制确保线程安全;`volatile` 仅保证可见性和有序性,不保证原子性。代码示例展示了如何使用 `synchronized` 和 `volatile` 解决主线程无法感知子线程修改共享变量的问题。总结:`volatile` 确保不同线程对共享变量操作的可见性,使一个线程修改后,其他线程能立即看到最新值。
|
10天前
|
消息中间件 缓存 安全
Java多线程是什么
Java多线程简介:本文介绍了Java中常见的线程池类型,包括`newCachedThreadPool`(适用于短期异步任务)、`newFixedThreadPool`(适用于固定数量的长期任务)、`newScheduledThreadPool`(支持定时和周期性任务)以及`newSingleThreadExecutor`(保证任务顺序执行)。同时,文章还讲解了Java中的锁机制,如`synchronized`关键字、CAS操作及其实现方式,并详细描述了可重入锁`ReentrantLock`和读写锁`ReadWriteLock`的工作原理与应用场景。
|
10天前
|
安全 Java 编译器
深入理解Java中synchronized三种使用方式:助您写出线程安全的代码
`synchronized` 是 Java 中的关键字,用于实现线程同步,确保多个线程互斥访问共享资源。它通过内置的监视器锁机制,防止多个线程同时执行被 `synchronized` 修饰的方法或代码块。`synchronized` 可以修饰非静态方法、静态方法和代码块,分别锁定实例对象、类对象或指定的对象。其底层原理基于 JVM 的指令和对象的监视器,JDK 1.6 后引入了偏向锁、轻量级锁等优化措施,提高了性能。
33 3