Indice de comparaison |
C++ |
Java |
Indépendant de la plate-forme |
C++ dépend de la plate-forme. |
Java est indépendant de la plate-forme. |
Principalement utilisé pour |
C++ est principalement utilisé pour la programmation système. |
Java est principalement utilisé pour la programmation d’applications. Il est largement utilisé dans les applications Windows, Web, d’entreprise et mobiles. |
Objectif de conception |
C++ a été conçu pour la programmation de systèmes et d’applications. C’était une extension du langage de programmation C. |
Java a été conçu et créé en tant qu’interpréteur pour les systèmes d’impression, mais a ensuite été étendu en tant que support informatique de réseau. Il a été conçu pour être facile à utiliser et accessible à un public plus large. |
Aller à |
C++ prend en charge l’instruction goto. |
Java ne prend pas en charge l’instruction goto. |
Héritage multiple |
C++ prend en charge l’héritage multiple. |
Java ne prend pas en charge l’héritage multiple via la classe. Cela peut être réalisé en utilisant des interfaces en java. |
Surcharge de l’opérateur |
C++ prend en charge la surcharge d’opérateurs. |
Java ne prend pas en charge la surcharge d’opérateur. |
Pointeurs |
C++ prend en charge les pointeurs. Vous pouvez écrire un programme de pointeur en C++. |
Java prend en charge le pointeur en interne. Cependant, vous ne pouvez pas écrire le programme de pointeur en Java. Cela signifie que Java a restreint la prise en charge des pointeurs dans Java. |
Compilateur et interpréteur |
C++ utilise uniquement le compilateur. C++ est compilé et exécuté à l’aide du compilateur qui convertit le code source en code machine. C++ dépend donc de la plate-forme. |
Java utilise à la fois un compilateur et un interpréteur. Le code source Java est converti en bytecode au moment de la compilation. L’interpréteur exécute ce bytecode au moment de l’exécution et produit une sortie. Java est interprété, c’est pourquoi il est indépendant de la plate-forme. |
Appel par valeur et Appel par référence |
C++ prend en charge à la fois l’appel par valeur et l’appel par référence. |
Java prend en charge l’appel par valeur uniquement. Il n’y a pas d’appel par référence en java. |
Structure et syndicat |
C++ prend en charge les structures et les unions. |
Java ne prend pas en charge les structures et les unions. |
Prise en charge des threads |
C++ n’a pas de support intégré pour les threads. Il s’appuie sur des bibliothèques tierces pour la prise en charge des threads. |
Java a un support de thread intégré. |
Commentaire documentaire |
C++ ne prend pas en charge les commentaires de documentation. |
Java prend en charge les commentaires de documentation (/** … */) pour créer une documentation pour le code source Java. |
Mot-clé virtuel |
C++ prend en charge les mots clés virtuels afin que nous puissions décider de remplacer ou non une fonction. |
Java n’a pas de mot clé virtuel. Nous pouvons remplacer toutes les méthodes non statiques par défaut. En d’autres termes, les méthodes non statiques sont virtuelles par défaut. |
décalage à droite non signé >>> |
C++ ne prend pas en charge l’opérateur >>>. |
Java prend en charge l’opérateur de décalage à droite non signé >>> qui remplit zéro en haut pour les nombres négatifs. Pour les nombres positifs, cela fonctionne comme l’opérateur >>. |
Arbre d’héritage |
C++ crée toujours un nouvel arbre d’héritage. |
Java utilise toujours un seul arbre d’héritage car toutes les classes sont les enfants de la classe Object en Java. La classe Object est la racine de l’arbre d’héritage en Java. |
Matériel |
C++ est plus proche du matériel. |
Java n’est pas si interactif avec le matériel. |
Orienté objet |
C++ est un langage orienté objet. Cependant, dans le langage C, une hiérarchie racine unique n’est pas possible. |
Java est également un langage orienté objet. Cependant, tout (sauf les types fondamentaux) est un objet en Java. Il s’agit d’une hiérarchie racine unique car tout est dérivé de java.lang.Object.
|
.
#Java #Javatpoint