[JAVA] En parlant de cela, une classe anonyme est apparue.

Non, il est apparu comme un professionnel.

button.addActionListener(
  new ActionListener(){
    @Override
    public void actionPerformed(ActionEvent event){
      /*Décrivez le traitement lorsque le bouton est enfoncé ici*/
    }
  }
);

à propos de ça.

Classe anonyme

Il existe un moyen d'écrire ** classe anonyme ** afin de pouvoir créer une classe sur place.

Par exemple, essayez de concevoir une telle interface.

SampleInterface.java


interface SampleInterface{
    public void sampleMethod();
}

Maintenant, générons cette ** classe anonyme **.

SampleInterface sample = new SampleInterface(){
    @Override
    public void sampleMethod(){
        System.out.println("Hello :-) ");
    }
}

sample.sampleMethod();
// >>> Hello :-) 

Vous pouvez l'utiliser comme ça.

Qu'est-ce que je fais

ExampleClass.java


class ExampleClass implements SampleInterface{
    @Override
    public void sampleMethod(){
        System.out.println("Hello :-) ");
    }
}
SampleInterface sample = new ExampleClass();
sample.sampleMethod();
// >>> Hello :-) 

Identique à ça. Vous pouvez éviter de créer une classe qui implémente l'interface dans un fichier séparé.

Qu'utilisez vous pour ça?

Avec cela, vous pouvez placer le traitement lui-même dans d'autres classes.

SampleClass.java


class SampleClass{
    private SampleInterface sampleInterface;

    public SampleClass(SampleInterface sampleInterface){
        this.sampleInterface = sampleInterface;
    }

    public void callInterfaceMethod(){
        sampleInterface.sampleMethod();
    }
}
SampleClass sample = new SampleClass(
    new SampleInterface(){
        @Override
        public void sampleMethod(){
            System.out.println("Hellooooooo!!!! :-) ");
        }
    }
);

sample.callInterfaceMethod()
// >>> Hellooooooo!!!! :-)

Comme ça.

Je le vois souvent comme un framework qui utilise Java. Vous pouvez insérer le traitement souhaité sans changer la classe qui traite les boutons, de sorte que vous pouvez laisser le traitement pratique du framework tel quel. Même sur Android, ce modèle est ce que vous faites lorsque vous appuyez sur un bouton.


C'est tout pour le ** modèle d'auditeur **.

Recommended Posts

En parlant de cela, une classe anonyme est apparue.
Classe anonyme (classe anonyme)
Classe anonyme Java