abc Programski jezik Java
Teorijska priprema - Poređenje C++ i Jave

Postoji mnogo razlika i sličnosti između C++ programskog jezika i Jave. Ovdje je data lista glavnih razlika između C++ i Jave:

Indeks poređenja

C++

Java

Platformna nezavisnost

C++ je platformno zavisan.

Java je platformno nezavisna.

Uglavnom se koristi za

C++ se uglavnom koristi za sistemsko programiranje.

Java se uglavnom koristi za aplikaciono programiranje. Široko se koristi u window, web, enterprise i mobilnim aplikacijama.

Goto

C++ podržava goto naredbu.

Java ne podržava goto naredbu.

Višestruko nasljeđivanje

C++ podržava višestruko nasljeđivanje.

Java ne podržava višestruko nasljeđivanje kroz klasu. To se može postići preko interfejsa u Javi.

Preopterećenje operatora

C++ podržava preopterećenje operatora.

Java ne podržava preopterećenje operatora.

Pointeri (pokazivači)

C++ podržava pointere. Moguće je napisati pointer program u C++.

Java podržava pointer interno. Ali nije moguće napisati pointer program u Javi. To znači da Java ima ograničenu podršku za pointer.

Kompajler i Interpreter

C++ koristi samo kompajler.

Java koristi i kompajler i interpreter.

Call by Value i Call by reference

C++ podržava i call by value i call by reference.

Java podržava samo call by value. Ne postoji call by reference u Javi.

Strukture i Unije

C++ podržava strukture i unije.

Java ne podržava strukture i unije.

Podrška za niti (Thread)

C++ nema ugrađenu podršku za niti. Zavisi od biblioteka treće strane za podršku niti.

Java ima ugrađenu podršku za niti.

Dokumentacioni komentar

C++ ne podržava dokumentacioni komentar.

Java podržava dokumentacioni komentar (/** ... */) za kreiranje dokumentacije za Java izvorni kod.

Virtualne ključne riječi

C++ podržava virtualne ključne riječi tako da možemo odlučiti hoćemo li redefinisati (override) funkciju.

Java nema virtualnih ključnih riječi. Možemo redefinisati sve ne-statičke metode po defaultu. Drugim riječima, ne-statičke metode su virtualne po defaultu.

Neoznačeni pomak u desno >>>

C++ ne podržava >>> operator.

Java podržava >>> operator koji piše nule na vrhu za negativne brojeve. Za pozitivne brojeve, on radi isto kao >> operator.

Stablo nasljeđivanja

C++ uvijek kreira novo stablo nasljeđivanja.

Java uvijek koristi jedno stablo nasljeđivanja zato što su sve klase djeca klase Object u Javi. Klasa Object je  korijen stabla nasljeđivanja u Javi.

Karakteristike Jave    <    Index    >    Jednostavan program u Javi