logo

C++ vs Java

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