Hi ha moltes diferències i similituds entre Programació en C++ llengua i Java . A continuació es mostra una llista de les principals diferències entre C++ i Java:
Índex de comparació | C++ | Java |
---|---|---|
Independent de la plataforma | C++ depèn de la plataforma. | Java és independent de la plataforma. |
S'utilitza principalment per | C++ s'utilitza principalment per a la programació del sistema. | Java s'utilitza principalment per a la programació d'aplicacions. S'utilitza àmpliament en aplicacions basades en Windows, web, empresarials i mòbils. |
Objectiu de disseny | C++ va ser dissenyat per a la programació de sistemes i aplicacions. Va ser una extensió de la Llenguatge de programació C . | Java va ser dissenyat i creat com a intèrpret per a sistemes d'impressió, però més tard es va estendre com a xarxa de suport informàtica. Va ser dissenyat per ser fàcil d'utilitzar i accessible a un públic més ampli. |
Anar a | C++ admet la declaració goto. | Java no admet la declaració goto. |
Herència múltiple | C++ admet l'herència múltiple. | Java no admet l'herència múltiple mitjançant classe. Es pot aconseguir utilitzant interfícies en java . |
Sobrecàrrega de l'operador | Suporta C++ sobrecàrrega de l'operador . | Java no admet la sobrecàrrega d'operadors. |
Apuntadors | C++ admet punters. Podeu escriure un programa punter en C++. | Java admet el punter internament. Tanmateix, no podeu escriure el programa punter en java. Significa que Java ha restringit el suport del punter a Java. |
Compilador i intèrpret | C++ només utilitza compilador. C++ es compila i s'executa mitjançant el compilador que converteix el codi font en codi màquina, de manera que C++ depèn de la plataforma. | Java utilitza tant compilador com intèrpret. El codi font de Java es converteix en bytecode en el moment de la compilació. L'intèrpret executa aquest bytecode en temps d'execució i produeix la sortida. Java s'interpreta per això és independent de la plataforma. |
Truca per valor i Truca per referència | C++ admet trucades per valor i trucades per referència. | Java només admet trucades per valor. No hi ha cap trucada per referència a Java. |
Estructura i unió | C++ admet estructures i unions. | Java no admet estructures i unions. |
Suport de fil | C++ no té suport integrat per a fils. Es basa en biblioteques de tercers per al suport de fils. | Java té integrat fil suport. |
Comentari de documentació | C++ no admet comentaris de documentació. | Java admet comentaris de documentació (/** ... */) per crear documentació per al codi font de Java. |
Paraula clau virtual | C++ admet la paraula clau virtual perquè puguem decidir si substituïm o no una funció. | Java no té cap paraula clau virtual. Podem anul·lar tots els mètodes no estàtics per defecte. En altres paraules, els mètodes no estàtics són virtuals per defecte. |
desplaçament dret sense signar >>> | C++ no admet l'operador >>>. | Java admet l'operador de desplaçament a la dreta sense signe >>> que omple zero a la part superior per als nombres negatius. Per als nombres positius, funciona igual que l'operador >>. |
Arbre de l'herència | C++ sempre crea un nou arbre d'herència. | Java sempre utilitza un únic arbre d'herència perquè totes les classes són fills de la classe Object a Java. La classe Object és l'arrel de la herència arbre en java. |
Maquinari | C++ és més proper al maquinari. | Java no és tan interactiu amb el maquinari. |
Orientat a objectes | C++ és un llenguatge orientat a objectes. Tanmateix, en el llenguatge C, una jerarquia arrel única no és possible. | Java també és un orientat a objectes llenguatge. Tanmateix, tot (excepte els tipus fonamentals) és un objecte a Java. És una jerarquia arrel única, ja que tot es deriva de java.lang.Object. |
Nota
- Java no admet arguments predeterminats com C++.
- Java no admet fitxers de capçalera com C++. Java utilitza la paraula clau import per incloure diferents classes i mètodes.
Exemple de programa C++
Fitxer: main.cpp
#include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; }
Sortida:
Hello C++ Programming
Exemple de programa Java
Fitxer: Simple.java
expressió de regressió en java
class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } }
Sortida:
Hello Java