How are Anonymous inner classes used in Java

De openkb
Aller à : Navigation, rechercher

Sommaire

Questions

What is the use of anonymous classes in Java? Can we say that usage of anonymous class is one of the advantages of Java?

Answers

http://docs.oracle.com/javase/tutorial/java/javaOO/innerclasses.html http://docs.oracle.com/javase/tutorial/java/javaOO/innerclasses.html

An anonymous inner class can come useful when making an instance of an object with certain "extras" such as overloading methods, without having to actually subclass a class.

I tend to use it as a shortcut for attaching an event listener:

button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        // do something
    }
});

Using this method makes coding a little bit quicker, as I don t need to make an extra class that implements ActionListener -- I can just instantiate an anonymous inner class without actually making a separate class.

I only use this technique for "quick and dirty" tasks where making an entire class feels unnecessary. Having multiple anonymous inner classes that do exactly the same thing should be refactored to an actual class, be it an inner class or a separate class.

Source

License : cc by-sa 3.0

http://stackoverflow.com/questions/355167/how-are-anonymous-inner-classes-used-in-java

Related

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Outils