Mezi nimi je mnoho rozdílů a podobností Programování v C++ jazyk a Jáva . Seznam hlavních rozdílů mezi C++ a Java je uveden níže:
Srovnávací index | C++ | Jáva |
---|---|---|
Nezávislé na platformě | C++ je závislé na platformě. | Java je nezávislá na platformě. |
Používá se hlavně pro | C++ se používá hlavně pro systémové programování. | Java se používá hlavně pro programování aplikací. Je široce používán v aplikacích založených na Windows, webových, podnikových a mobilních aplikacích. |
Cíl designu | C++ bylo navrženo pro programování systémů a aplikací. Jednalo se o rozšíření C programovací jazyk . | Java byla navržena a vytvořena jako interpret pro tiskové systémy, ale později byla rozšířena jako podpora síťových počítačů. Byl navržen tak, aby byl snadno použitelný a dostupný širšímu publiku. |
Jít do | C++ podporuje příkaz goto. | Java nepodporuje příkaz goto. |
Vícenásobná dědičnost | C++ podporuje vícenásobnou dědičnost. | Java nepodporuje vícenásobné dědění prostřednictvím třídy. Toho lze dosáhnout použitím rozhraní v Javě . |
Přetížení operátora | C++ podporuje přetížení operátora . | Java nepodporuje přetěžování operátorů. |
Ukazatele | C++ podporuje ukazatele . Ukazovací program můžete napsat v C++. | Java interně podporuje ukazatel. Ukazovací program však nemůžete napsat v jazyce Java. To znamená, že Java má omezenou podporu ukazatelů v jazyce Java. |
Překladač a tlumočník | C++ používá pouze kompilátor. C++ se kompiluje a spouští pomocí kompilátoru, který převádí zdrojový kód na strojový kód, takže C++ je závislý na platformě. | Java používá jak kompilátor, tak interpret. Zdrojový kód Java je v době kompilace převeden na bajtový kód. Interpret spustí tento bajtkód za běhu a vytvoří výstup. Java je interpretována proto, že je nezávislá na platformě. |
Volání podle hodnoty a volání podle reference | C++ podporuje volání podle hodnoty i volání podle odkazu. | Java podporuje volání pouze podle hodnoty. V Javě není žádné volání odkazem. |
Struktura a unie | C++ podporuje struktury a sjednocení. | Java nepodporuje struktury a svazy. |
Podpora vláken | C++ nemá vestavěnou podporu pro vlákna. Při podpoře vláken se spoléhá na knihovny třetích stran. | Java má vestavěný vlákno Podpěra, podpora. |
Komentář k dokumentaci | C++ nepodporuje komentáře k dokumentaci. | Java podporuje komentář k dokumentaci (/** ... */) pro vytvoření dokumentace pro zdrojový kód Java. |
Virtuální klíčové slovo | C++ podporuje virtuální klíčové slovo, takže se můžeme rozhodnout, zda funkci přepíšeme nebo ne. | Java nemá žádné virtuální klíčové slovo. Všechny nestatické metody můžeme standardně přepsat. Jinými slovy, nestatické metody jsou ve výchozím nastavení virtuální. |
pravý posun bez znaménka >>> | C++ nepodporuje operátor >>>. | Java podporuje unsigned right shift >>> operátor, který vyplní nulu nahoře pro záporná čísla. Pro kladná čísla to funguje stejně jako operátor >>. |
Strom dědičnosti | C++ vždy vytvoří nový strom dědičnosti. | Java vždy používá jeden strom dědičnosti, protože všechny třídy jsou potomky třídy Object v Javě. Třída Object je kořenem třídy dědictví strom v Javě. |
Hardware | C++ je blíže hardwaru. | Java není tak interaktivní s hardwarem. |
Objektově orientovaný | C++ je objektově orientovaný jazyk. V jazyce C však není možná jediná kořenová hierarchie. | Java je také objektově orientovaný Jazyk. Všechno (kromě základních typů) je však v Javě objektem. Je to jediná kořenová hierarchie, protože vše je odvozeno od java.lang.Object. |
Poznámka
- Java nepodporuje výchozí argumenty jako C++.
- Java nepodporuje hlavičkové soubory jako C++. Java používá klíčové slovo import k zahrnutí různých tříd a metod.
Příklad programu C++
Soubor: main.cpp
#include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; }
Výstup:
Hello C++ Programming
Příklad programu Java
Soubor: Simple.java
class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } }
Výstup:
Hello Java