Maison  >  Article  >  Java  >  Quelle est la différence entre une classe abstraite et une interface en Java ?

Quelle est la différence entre une classe abstraite et une interface en Java ?

王林
王林avant
2023-04-22 20:16:061681parcourir

Différences

1. Les classes et sous-classes abstraites ont une relation is, et les interfaces ont une relation similaire. Les classes abstraites ont un degré élevé de couplage et ont une meilleure réutilisabilité et maintenabilité, tandis que les interfaces ont la relation opposée.

2. L'abstraction ne peut être héritée que seule, et les interfaces et les sous-classes peuvent implémenter plusieurs interfaces.

Les résumés peuvent avoir des variables membres non constantes, les interfaces ne peuvent avoir que des variables membres constantes, les interfaces ont des méthodes par défaut après la version 1.8 et les abstractions ont des méthodes membres.

Instances

Exemples de portes et d'alarmes : Les portes ont deux actions : open() et close() A ce stade, nous pouvons définir ce concept abstrait à travers des classes et interfaces abstraites :

abstract class Door {
 
    public abstract void open();
 
    public abstract void close();
 
}
.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer