« Programmation Java/Autres langages » : différence entre les versions

Contenu supprimé Contenu ajouté
m →‎C++ : gram. + orth. + syntaxe + typographie
m Formatage, ajout de code
Ligne 6 :
== [[:Catégorie:C++|C++]] ==
 
* En Java, on utilise <ttcode>final</ttcode> et non <ttcode>const</ttcode>. Le mot <ttcode>const</ttcode> étant tout de même réservé pour un usage ultérieur.
* Java ne définit pas d'espace de nom (''namespace''), mais des paquetages (<ttcode>package</ttcode>).
* On ne libère pas la mémoire. Cela est géré automatiquement par le ramasse-miette. À la place, il est recommandé de libérer les références aux objets qui ne sont plus utilisés en assignant <ttcode>null</ttcode> à la référence, dès que possible ou juste avant une potentielle allocation d'une grande quantité d'objets ou de grands tableaux.
* Il n'y a pas de pointeurs mais des références :
** Les opérateurs <ttcode>-></ttcode> et <ttcode>*</ttcode> (déréférencement) n'existent pas. Il faut utiliser le point (<ttcode>.</ttcode>) ;
** Les références (contrairement au C++) peuvent être modifiées pour référencer un autre objet en utilisant l'opérateur d'affectation (<ttcode>=</ttcode>).
* Un <ttcode>char</ttcode> fait un octet en C++ mais 2 octets en Java car l'encodage Unicode utilisé est l'UTF-16.
* <ttcode>unsigned</ttcode> n'existe pas en Java : tous les types entiers sont signés.
* L'héritage multiple possible en C++ est interdit en Java, il faut utiliser des {{page|Interfaces|interfaces}}.
* L'opérateur de résolution de portée « <ttcode>::</ttcode> » n'existe pas en Java :
** Pour utiliser un membre d'un package ou un membre statique d'une classe, utiliser le point (<ttcode>.</ttcode>) ;
** Pour appeler une méthode telle qu'elle est définie dans la classe parente, utiliser la référence <ttcode>super</ttcode>.
* Les classes ou méthodes ne peuvent être déclarées ''virtual'' car elles le sont toutes : toutes les liaisons sont dynamiques.
* Les opérateurs ne sont pas redéfinissables en Java. Les opérateurs n'agissent pas sur les objets, excepté pour l'opérateur <ttcode>+</ttcode> permettant de concaténer deux chaînes de caractères.
 
== [[PHP]] ==