Sok különbség és hasonlóság van között C++ programozás nyelv és Jáva . A C++ és a Java közötti legfontosabb különbségek listája az alábbiakban található:
Összehasonlítási index | C++ | Jáva |
---|---|---|
Platformfüggetlen | A C++ platformfüggő. | A Java platformfüggetlen. |
Főleg arra használják | A C++-t főleg rendszerprogramozásra használják. | A Java-t elsősorban alkalmazásprogramozásra használják. Széles körben használják Windows-alapú, web-alapú, vállalati és mobilalkalmazásokban. |
Tervezési cél | A C++-t rendszerek és alkalmazások programozására tervezték. Ez egy kiterjesztése volt a C programozási nyelv . | A Java-t a nyomtatórendszerek tolmácsaként tervezték és hozták létre, de később a hálózati számítástechnika támogatására is kiterjesztették. Úgy tervezték, hogy könnyen használható és szélesebb közönség számára elérhető legyen. |
Menj | A C++ támogatja a goto utasítást. | A Java nem támogatja a goto utasítást. |
Többszörös öröklés | A C++ támogatja a többszörös öröklődést. | A Java nem támogatja az osztályon keresztüli többszörös öröklődést. Használatával érhető el interfészek java-ban . |
Kezelő túlterhelése | C++ támogatja kezelő túlterhelése . | A Java nem támogatja az operátor túlterhelését. |
Mutatók | A C++ támogatja a mutatókat. C++ nyelven tudsz mutató programot írni. | A Java belülről támogatja a mutatót. A mutatóprogramot azonban nem írhatja meg java-ban. Ez azt jelenti, hogy a java korlátozott mutatótámogatással rendelkezik a Java-ban. |
Fordító és tolmács | A C++ csak fordítót használ. A C++ fordítása és futtatása a fordító segítségével történik, amely a forráskódot gépi kóddá alakítja, így a C++ platformfüggő. | A Java fordítót és értelmezőt is használ. A Java forráskód a fordításkor bájtkóddá alakul. Az értelmező ezt a bájtkódot végrehajtja futás közben, és kimenetet állít elő. A Java értelmezése ezért platformfüggetlen. |
Hívás érték szerint és hívás referenciával | A C++ támogatja az érték szerinti hívást és a referenciahívást is. | A Java csak az érték szerinti hívást támogatja. Java-ban nincs hivatkozási hívás. |
Struktúra és Unió | A C++ támogatja a struktúrákat és a szakszervezeteket. | A Java nem támogatja a struktúrákat és a szakszervezeteket. |
Szál támogatása | A C++ nem támogatja a szálakat. Harmadik féltől származó könyvtárakra támaszkodik a szálak támogatásához. | A Java beépített cérna támogatás. |
Dokumentációs megjegyzés | A C++ nem támogatja a dokumentációs megjegyzéseket. | A Java támogatja a dokumentációs megjegyzést (/** ... */) a java forráskód dokumentációjának létrehozásához. |
Virtuális kulcsszó | A C++ támogatja a virtuális kulcsszót, így eldönthetjük, hogy felülírunk-e egy függvényt vagy sem. | A Java-nak nincs virtuális kulcsszava. Alapértelmezés szerint felülírhatunk minden nem statikus metódust. Más szavakkal, a nem statikus módszerek alapértelmezés szerint virtuálisak. |
előjel nélküli jobb eltolódás >>> | A C++ nem támogatja a >>> operátort. | A Java támogatja az előjel nélküli jobb eltolás >>> operátorát, amely nullát tölt ki a negatív számok tetején. Pozitív számok esetén ugyanúgy működik, mint a >> operátor. |
Örökség fa | A C++ mindig új öröklési fát hoz létre. | A Java mindig egyetlen öröklési fát használ, mivel minden osztály a Java Object osztályának gyermeke. Az Object osztály a gyöke öröklés fa java-ban. |
Hardver | A C++ közelebb áll a hardverhez. | A Java nem annyira interaktív a hardverrel. |
Objektum orientált | A C++ egy objektumorientált nyelv. A C nyelvben azonban egyetlen gyökérhierarchia nem lehetséges. | A Java is egy objektum orientált nyelv. Azonban minden (az alapvető típusok kivételével) egy objektum a Java-ban. Ez egyetlen gyökérhierarchia, mivel minden a java.lang.Object-ből származik. |
jegyzet
- A Java nem támogatja az olyan alapértelmezett argumentumokat, mint a C++.
- A Java nem támogatja az olyan fejlécfájlokat, mint a C++. A Java az import kulcsszót használja különböző osztályok és metódusok felvételére.
C++ program példa
Fájl: main.cpp
#include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; }
Kimenet:
Hello C++ Programming
Java program példa
Fájl: Simple.java
class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } }
Kimenet:
Hello Java