我想实现这么一个功能,当程序中的一个变量的值被改变的时候.开始执行一段程序. 
这个监听程序应该怎么写? 

解决方案 »

  1.   

    嗯,楼上说的有理,应该是observer pattern观察者模式把这个变量作为一个类的私有属性,提供公有的set方法,在set方法里可以调你要执行的程序,这样这个set方法成为这个变量改变的唯一途径,而当这个变量改变时你就可以做你的操作了,这可能也是封装的好处吧。注意如果这个变量是一个非final类的对象的引用时,公有get方法要是返回这个引用,可能导致人家get到这个变量后修改这个变量,解决方法是在get方法中返回这个对象的clone()
      

  2.   

    谢谢大家!若用Java怎么实现?
      

  3.   

    写了个例子给你,希望对你有用~~public class text {
    private int Num; //Num就是你所指的变量 public text() {
    } //构造函数 public void setNum(int New_Num) { //改变Num值的set方法,(只能通过set方法改变Num的值)
    this.Num = New_Num;
    fuction(); //set方法中引用你想调用的函数
    } public void fuction() {  
    //实现你的方法
    } public static void main(String[] args) {
    text aaa = new text();
    aaa.setNum(10);                 //这时候会改变其值,并实现你定义的方法~ }
    }