Types des méthodes

Visibilité des méthodes en Java

Ce site ne sera plus alimenté de contenu après août 2014. Tous les nouveaux articles seront redigés pour www.waitingforcode.com

L'univers de la programmation orientée objet se ressemble d'un langage à un autre. Cependant, quelques différences subtiles existent entre son implémentation en PHP et en Java. L'une des différences repose sur le plus grand choix des signatures des méthodes dans ce deuxième langage.

En PHP orienté objet on peut déclarer une méthode publique (public), privée (private), protégée (protected), statique (static), finale (final) ou abstraite (abstract). Pareil on Java. On l'a déjà présenté dans un article consacré à la portée des variables et des méthodes en Java. Ici on va donc se concentrer plus sur d'autres signatures, non abordées dans l'article précédent et absentes en PHP.

Les types des méthodes en Java

On distingue donc les types (signatures) des méthodes suivants :
- public : publique, accessible depuis l'extérieur de la classe
- private : privée, n'est accessible qu'à l'intérieur d'une classe et ne peut pas être héritée
- protected : protégée, n'est accessible qu'à l'intérieur d'une classe et peut être héritée
- static : statique, permet d'être appelée sans passer par l'initialisation explicite de l'objet d'une classe.
- final : finale, la méthode est alors déclarée comme finale. Aucune classe ne peut la surcharger ou la cacher.
- abstract : abstraite, utilisée quand l'implémentation d'une méthode est inconnue ou imprécise. Toutes les classes qui héritent d'une classe abstraite possédant des méthodes abstraites, doivent définir leurs propres implémentations.
- native : native, c'est une méthode qui trouve son implémentation dans un autre langage que Java. Comment implémenter une méthode native ? Voici un exemple qui affichera un texte sur l'écran : http://www.javaworld.com/javatips/jw-javatip23.html
- strictfp : stricte, garantit que la machine virtuelle de Java (JVM) va retourner les mêmes résultats des calculs arithmétiques sur les chiffres flotantes (float). Ces calculs utilisent les règles du mode appelé strict floating-point. Le mode non stricte est plus laxiste et ne garantit pas l'utilisation des mêmes règles en fonction de la version de JVM.

La distinction entre ces deux modes a été introduite dans la version 1.2. Pour tout le code d'avant, le seul mode disponible était strict. Ceci s'explique par l'application des standards IEEE aux calculs.

Ce mot clé ne s'applique pas à un attribut. Il trouve son utilité uniquement dans les méthodes et les classés.
- synchronized : synchronisée, signature utilisée pour gérer les problèmes liés à des applications multi threading en Java.

Une question ? Une remarque ?

*

*

Un conseil Symfony2

A quoi peut être lié le problème "Unknown Entity namespace alias" ?

Ce problème peut apparaître dans Symfony2 parce que le bundle de l'entité peut ne pas être défini dans AppKernel.