Maison  >  Article  >  Java  >  Implémentation de classe interne d'interfaces et de classes abstraites en Java

Implémentation de classe interne d'interfaces et de classes abstraites en Java

王林
王林original
2024-04-30 14:03:02405parcourir

Java permet de définir des classes internes au sein d'interfaces et de classes abstraites, offrant ainsi une flexibilité pour la réutilisation et la modularisation du code. Les classes internes des interfaces peuvent implémenter des fonctions spécifiques, tandis que les classes internes des classes abstraites peuvent définir des fonctions générales et les sous-classes fournissent des implémentations concrètes.

Java 中接口和抽象类的内部类实现

Implémentation de classe interne d'interfaces et de classes abstraites en Java

Java permet de définir des classes internes dans des interfaces et des classes abstraites, ce qui offre un moyen flexible de réaliser la réutilisation et la modularisation du code.

Classes internes dans les interfaces

// Interface with an inner interface
public interface OuterInterface {
    interface InnerInterface {
        void method();
    }
}

Cas pratique :

Vous pouvez utiliser des classes internes dans les interfaces pour fournir des fonctionnalités spécifiques pour différentes implémentations. Par exemple, le code suivant crée une implémentation de OuterInterface dont InnerInterface fournit une implémentation spécifique de la méthode method() : OuterInterface 的实现,其 InnerInterface 提供了 method() 方法的特定实现:

public class OuterInterfaceImpl implements OuterInterface {

    @Override
    public InnerInterface getInnerInterface() {
        return new InnerInterface() {
            @Override
            public void method() {
                System.out.println("InnerInterface method implementation");
            }
        };
    }
}

抽象类中的内部类

// Abstract class with an inner abstract class
public abstract class OuterAbstractClass {
    abstract class InnerAbstractClass {
        abstract void method();
    }
}

实战案例:

抽象类中的内部类可以用来定义通用的功能,同时允许子类提供具体实现。例如,以下代码创建一个 OuterAbstractClass 的实现,其 InnerAbstractClass 提供了 method()

public class OuterAbstractClassImpl extends OuterAbstractClass {

    @Override
    public InnerAbstractClass getInnerAbstractClass() {
        return new InnerAbstractClass() {
            @Override
            public void method() {
                System.out.println("InnerAbstractClass method implementation");
            }
        };
    }
}

en résumé class Classes internes🎜rrreee🎜🎜Cas pratique : 🎜🎜🎜Les classes internes dans les classes abstraites peuvent être utilisées pour définir des fonctions communes tout en permettant aux sous-classes de fournir des implémentations concrètes. Par exemple, le code suivant crée une implémentation de OuterAbstractClass dont InnerAbstractClass fournit une implémentation de la méthode method() : 🎜rrreee

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn