Pourquoi Java interdisait traditionnellement les méthodes d'interface statique
Dans les versions Java antérieures à 8, les méthodes statiques n'étaient pas autorisées dans les interfaces car il n'y avait pas d'obligation raison technique de les présenter. L'inclusion proposée dans Java 7 s'est heurtée à des complications imprévues qui ont conduit à sa suppression.
La justification des méthodes statiques immuables
Les méthodes statiques peuvent être résolues au moment de la compilation car elles nécessitent un classe connue à invoquer. La répartition dynamique, qui est utilisée pour les méthodes d'instance, implique de déterminer le type concret de l'objet au moment de l'exécution et ne peut donc pas être appliquée aux méthodes statiques.
Remplacer les méthodes statiques : un concept inutile
Le remplacement, où une sous-classe implémente une méthode avec la même signature que sa superclasse, n'a plus d'importance pour les méthodes statiques. En effet, la classe contenant la méthode souhaitée est connue au moment de la compilation. La spécification explicite de la classe élimine le besoin de substitution.
Java 8 : une nouvelle ère pour les interfaces
Avec l'introduction de Java 8, les interfaces peuvent désormais inclure des méthodes statiques, une fonctionnalité activée par la prise en charge des expressions lambda. Cependant, les champs d'instance ne sont toujours pas autorisés dans les interfaces.
Approches alternatives pour les « interfaces de constructeur »
Pour appliquer une méthode de fabrique cohérente pour les classes implémentant IXMLizing, considérez :
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!