自己写一个Java样例:
PersonEvent.java
package com.listener;
import com.person.Person;
public class PersonEvent {
private Object p;
public Object getSource() {
return p;
}
public PersonEvent(Object p) {
this.p = p;
}
}
PersonListener.java
package com.listener;
import com.person.Person;
public interface PersonListener {
public void eating(PersonEvent p);
}
Person.java
package com.person;
import com.listener.PersonEvent;
import com.listener.PersonListener;
public class Person {
private int weight;
private PersonListener listener;
public Person() {
super();
weight = 100;
}
public void addListener(PersonListener pl) {
listener = pl;
}
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.weight = weight;
}
public void eat() {
weight += 5;
listener.eating(new PersonEvent(this));
}
}
Test.java
package com.person;
import com.listener.PersonEvent;
import com.listener.PersonListener;
public class Test {
public static void main(String[] args) {
Person p=new Person();
p.addListener(new PersonListener(){
@Override
public void eating(PersonEvent p) {
Person get=(Person) p.getSource();
System.out.println("快要到"+get.getWeight()+"斤了,别吃啦");
}
});
p.eat();
}
}