The answer here shows the way to create a custom event in java. I understood the answer, but I am wondering why he is using HelloListener interface? I don't think it is needed.
My code:
import java.util.ArrayList;
import java.util.List;
class Initiater {
    private List<Responder> listeners = new ArrayList<Responder>();
    public void addListener(Responder toAdd) {
        listeners.add(toAdd);
    }
    public void sayHello() {
        System.out.println("Hello!!");
        for (Responder hl : listeners)
            hl.someoneSaidHello();
    }
}
class Responder {
    public void someoneSaidHello() {
        System.out.println("Hello there...");
    }
}
public class Test {
    public static void main(String[] args) {
        Initiater initiater = new Initiater();
        Responder responder = new Responder();
        initiater.addListener(responder);
        initiater.sayHello();
    }
}
I think the code I wrote does the same thing. Can I do it like that?
 
     
     
    