public interface Callable {
void call();
}
public class Dog {
Callable callable;
public void setCallable(Callable callable) {
this.callable = callable;
}
public Dog(Callable callable) {
this.callable = callable;
}
public void call(){
callable.call();
}
}
import org.junit.Test;
public class TTT {
@Test
public void ttt(){
Callable c=new Callable() {
@Override
public void call() {
System.out.println("dog call");
}
};
Dog dog = new Dog(c);
dog.call();
c=new Callable() {
@Override
public void call() {
System.out.println("dog call call");
}
};
dog.setCallable(c);
dog.call();
}
}