Синтаксис
new EventHandler<ActionEvent>() {
@Override // <- notice the annotation, it overrides from the interface.
public void handle(ActionEvent event) {
System.out.print("Hello World !!");
}
}
создает «анонимный внутренний класс», который реализует EventHandler, и определяет метод handle. Если вы проверите классы, сгенерированные при компиляции проекта, вы, вероятно, найдете файл класса с именем Sample $ 1 (или аналогичный), который является классом, сгенерированным для этого кода.
Вы можете прочитать о внутренних (анонимных) классах здесь: http://docs.oracle.com/javase/tutorial/java/javaOO/innerclasses.html
Чтобы ответить на ваш вопрос: EventHandler - это интерфейс, и этот код фактически не создает его экземпляр, а создает экземпляр недавно объявленного анонимного класса.