« Programmation Java/Autres langages » : différence entre les versions
Contenu supprimé Contenu ajouté
m →C++ : gram. + orth. + syntaxe + typographie |
|||
Ligne 6 :
== [[:Catégorie:C++|C++]] ==
* En
* Java ne définit pas d'espace de nom (''namespace''), mais des paquetages (<tt>package</tt>).
* 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 <tt>null</tt> à 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 <tt>-></tt> et <tt>*</tt> (déréférencement) n'existent pas. Il faut utiliser le point (<tt>.</tt>)
** 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 (<tt>=</tt>).
*
* <tt>unsigned</tt> 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 « <tt>::</tt> » n'existe pas en Java :
** Pour utiliser un membre d'un package ou un membre statique d'une classe, utiliser le point (<tt>.</tt>)
** Pour appeler une méthode telle qu'elle est définie dans la classe parente, utiliser la référence <tt>super</tt>.
* 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
== [[PHP]] ==
|