logo

C++ vs Java

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