java 监听器实现原理

监听器机制详解

 

监听器实现者:

public class MyActivity extends Activity implements InternetManager.Listener {

    private TextView mText;
    private InternetManager mInetMgr;

    /* called just like onCreate at some point in time */ 
    public void onStateChange(boolean state) {
        if (state) {
            mText.setText("on");
        } else {
            mText.setText("off");
        }
    }

    public void onCreate() {
        mInetMgr = new InternetManager();
        mInetMgr.registerListener(this);
        mInetMgr.doYourWork();
    }
}

 

 

自定义类,监听器作为内部属性(包含方法),

类中存在调用监听器内部方法的地方,

set不同的监听器实现者,处理的方式便不一样,

监听器相当于一个钩子,做回调使用。

public class InternetManager {
    // all the listener stuff below
    public interface Listener {
        public void onStateChange(boolean state);
    }

    private Listener mListener = null;
    public void registerListener (Listener listener) {
        mListener = listener;
    }

    // -----------------------------
    // the part that this class does

    private boolean isInternetOn = false;
    public void doYourWork() {
        // do things here
        // at some point
        isInternetOn = true;
        // now notify if someone is interested.
        if (mListener != null)
            mListener.onStateChange(isInternetOn);
    }
}

转载于:https://www.cnblogs.com/lotusve/archive/2012/07/02/2573628.html

Java监听器(Listener)是一种事件驱动的编程模式,用于在发生特定事件时自动触发相关的处理操作。监听器实现需要以下几个步骤: 1. 定义监听器接口:定义一个接口,包含要监听的事件类型及对应的处理方法,例如: ```java public interface MyListener { public void onEvent(Event e); } ``` 2. 实现监听器接口:实现定义的接口,实现对应的处理方法,例如: ```java public class MyListenerImpl implements MyListener { public void onEvent(Event e) { // 处理事件逻辑 } } ``` 3. 注册监听器:在需要监听事件的对象中,注册监听器,例如: ```java MyListener listener = new MyListenerImpl(); myObject.addMyListener(listener); ``` 4. 触发事件:在需要触发事件的地方,创建事件对象,调用监听器的处理方法,例如: ```java Event e = new Event(); myObject.notifyMyListener(e); ``` Java监听器原理是基于观察者模式(Observer Pattern),观察者模式是一种对象间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都会得到通知并自动更新。在Java中,被观察者对象维护一个观察者列表,在状态改变时,遍历观察者列表,调用观察者的更新方法。监听器就是观察者的一种实现方式,被观察者对象的状态改变就对应着某个事件的发生,观察者就是对应的监听器。通过监听器实现了对象间的解耦,使得程序更加灵活和可扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值