Interface Warum kann man Intefraces instanziieren?

Hallo,
bei der folgenden Kontruktion instanziieren ich ein Interface -- new ActionListener()--,
was ja im Grunde genommen nicht geht, da es ja keine "wirkliche" Klasse ist.
(ich kann ja ein Interface-Objekt erzeugen aber normalerweise mit einer Klasse die das Interface implentiert!!)

Warum ist das möglich? Danke!

Java:
//create enterField and register its listener
        enterField = new JTextField("Enter file URL here");
        enterField.addActionListener(
               
                new ActionListener(){
                      
                    public void actionPerformed(ActionEvent e){
                        //...
                    }
                }
               
                );
 
Super, danke!
P.S.: Ja, o.k., Objekte, die on-the-fly erzerugt werden. Trotzdem habe ich gelernt, dass man Interfaces nicht instanziieren kann und ActionListener ist ein Interface!
 
Zuletzt bearbeitet:
Danke, also kann man sagen:
Es ist eine Alternative für:
Java:
public class MyClass implements ActionListener {
....
enterField = new JTextField("Enter file URL here");
enterField.addActionListener(this);

public void actionPerformed(ActionEvent e) {
  
}
....

Der Vorteil ist, dass man nicht alle Methoden des Interface implementieren muss.
Das wesentliche ist ja and die Methode actionPerformed "ranzukommen", wo dann die
action drinsteht, die performed wird!
 

Ähnliche Java Themen

Neue Themen


Oben