Java/Kotlin实现对成员变量的监听

本文介绍了如何在Java和Kotlin中实现对成员变量的监听。通过创建PropertyChangeAware类,让目标类继承它来记录成员变量变化。在Java中,使用set方法更新值并在changeSupport中记录。在Kotlin中,可以利用委托属性和Delegates.observable简化这一过程,展示出Kotlin的简洁性。
摘要由CSDN通过智能技术生成

一般的做法如下:
1.创建一个类PropertyChangeAware,,在其中创建成员变量changeSupport并初始化这个成员变量,它可以记录下其他类成员变量的变化
2.将需要监听的类继承于PropertyChangeAware,这样这个类就含有的这个changeSupport
3.写成员变量的set方法,将值的变化记录在changeSupoort中。
3.对需要监听类添加监听器,实际在向changeSupoort添加监听器,并且实现propertyChange方法。这样每当成员变量调用set方法时,changeSupoort就会记录下来,并且执行propertyChange方法

  • 这是PropertyChangeAware类
package edu.wang.af;

import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;

public class PropertyChangeAware  {
   
    protected PropertyChangeSupport changeSupport=new PropertyChangeSupport(this);

   

    public void addPropertyChangeListener(PropertyChangeListener listener) {
   
        changeSupport.addPropertyChangeListener(listener);
    }

    public void removePropertyChangeListener(PropertyChangeListener listener) {
   
        changeSupport.removePropertyChangeListener(listener);
    }
}

  • 这是Perosn类,测试一下监听的效果
package edu.wang.af;

public class Person extends PropertyChangeAware{
   
    private String name;
  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值