Dans Java 8 et versions ultérieures, les méthodes statiques sont autorisé dans les interfaces. Ce n'était pas le cas dans les versions précédentes, laissant de nombreux programmeurs se demander pourquoi.
Java 8 a introduit des méthodes d'interface statique en plus du remplacement. Méthodes d'instance compatibles avec des implémentations par défaut. Les interfaces peuvent désormais inclure des méthodes statiques, mais ne peuvent toujours pas avoir de champs d'instance.
Les méthodes statiques ne peuvent pas être remplacées car elles sont résolues au moment de la compilation. . Cela signifie que le compilateur peut déterminer la classe et la méthode exactes à appeler sans consulter une instance d'objet. La répartition dynamique des méthodes d'instance est nécessaire car le compilateur ne peut pas déterminer le type précis de l'objet au moment de l'exécution.
Contrairement aux méthodes d'instance, les méthodes statiques sont directement associées à une classe. Cela élimine le besoin de répartition dynamique, car le compilateur connaît déjà la classe et la méthode requises. Par conséquent, le remplacement des méthodes statiques est inutile et peu pratique.
L'application d'une méthode de fabrique obligatoire pour les implémentations IXMLifiables peut être réalisée sans utiliser d'interface. . Le code qui utilise la méthode factory peut spécifier explicitement le type concret, permettant au compilateur de vérifier la conformité.
Si une implémentation IXMLalisable sans le « constructeur » est créée et transmise au code qui l'attend, le code la reconnaît toujours comme un IXMLizable valide. En effet, la construction est un détail d'implémentation et ne fait pas partie de l'interface. Tout code qui interagit avec l'interface seule n'est pas affecté.
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!