当一个类中某个变量改变时,需要在另一个类中做出应对,可以用下面的方法(以android为例)
public class A extends Activity implements B.onCUpdateListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
B b = new B();
b.setOnCUpdateListener(this);
b.setC(); }
public void onCUpdate(int c) {
// 在这里处理变量改变
} }
public class B { private int c = 1;
private OnCUpdateListener mListener;public void setC() {c = 2;mListener.onCUpdate(c);}public void setOnCUpdateListener(OnCUpdateListener listener) {mListener = listener;} public interface OnCUpdateListener { public void onCUpdate(int c); } }总结前人经验,其中说这里使用了观察者模式。