Istnieje wiele różnic i podobieństw pomiędzy Programowanie w C++ język i Jawa . Poniżej znajduje się lista najważniejszych różnic pomiędzy C++ i Javą:
aktorka filmowa Rekha
Indeks porównawczy | C++ | Jawa |
---|---|---|
Niezależny od platformy | C++ jest zależny od platformy. | Java jest niezależna od platformy. |
Używany głównie do | C++ jest używany głównie do programowania systemowego. | Java jest używana głównie do programowania aplikacji. Jest szeroko stosowany w aplikacjach opartych na systemie Windows, aplikacjach internetowych, przedsiębiorstwach i aplikacjach mobilnych. |
Cel projektu | C++ został zaprojektowany z myślą o programowaniu systemów i aplikacji. Było to przedłużenie tzw Język programowania C . | Java została zaprojektowana i stworzona jako interpreter dla systemów drukujących, ale później została rozszerzona jako wspierająca sieć komputerowa. Został zaprojektowany tak, aby był łatwy w obsłudze i dostępny dla szerszego grona odbiorców. |
Iść do | C++ obsługuje instrukcję goto. | Java nie obsługuje instrukcji goto. |
Dziedziczenie wielokrotne | C++ obsługuje wielokrotne dziedziczenie. | Java nie obsługuje wielokrotnego dziedziczenia poprzez klasę. Można to osiągnąć za pomocą interfejsy w Javie . |
Przeciążenie operatora | Obsługuje C++ przeciążenie operatora . | Java nie obsługuje przeciążania operatorów. |
Wskaźniki | C++ obsługuje wskaźniki. Program wskaźnikowy można napisać w języku C++. | Java obsługuje wskaźnik wewnętrznie. Jednakże nie można napisać programu wskaźnikowego w Javie. Oznacza to, że Java ma ograniczoną obsługę wskaźników w Javie. |
Kompilator i interpreter | C++ używa tylko kompilatora. C++ jest kompilowany i uruchamiany przy użyciu kompilatora, który konwertuje kod źródłowy na kod maszynowy, więc C++ jest zależne od platformy. | Java używa zarówno kompilatora, jak i interpretera. Kod źródłowy Java jest konwertowany na kod bajtowy w czasie kompilacji. Interpreter wykonuje ten kod bajtowy w czasie wykonywania i generuje dane wyjściowe. Java jest interpretowana, dlatego jest niezależna od platformy. |
Zadzwoń według wartości i zadzwoń przez referencję | C++ obsługuje zarówno wywołanie przez wartość, jak i wywołanie przez referencję. | Java obsługuje tylko wywoływanie według wartości. W Javie nie ma wywołania przez referencję. |
Struktura i Unia | C++ obsługuje struktury i związki. | Java nie obsługuje struktur i związków. |
Wsparcie wątków | C++ nie ma wbudowanej obsługi wątków. Opiera się na bibliotekach innych firm do obsługi wątków. | Java ma wbudowaną nitka wsparcie. |
Komentarz do dokumentacji | C++ nie obsługuje komentarzy do dokumentacji. | Java obsługuje komentarze do dokumentacji (/** ... */) umożliwiające tworzenie dokumentacji dla kodu źródłowego Java. |
Wirtualne słowo kluczowe | C++ obsługuje wirtualne słowo kluczowe, dzięki czemu możemy zdecydować, czy zastąpić funkcję. | Java nie ma wirtualnego słowa kluczowego. Domyślnie możemy zastąpić wszystkie metody niestatyczne. Innymi słowy, metody niestatyczne są domyślnie wirtualne. |
bez znaku przesunięcie w prawo >>> | C++ nie obsługuje operatora >>>. | Java obsługuje operator przesunięcia w prawo bez znaku >>>, który wypełnia zero u góry dla liczb ujemnych. W przypadku liczb dodatnich działa tak samo jak operator >>. |
Drzewo dziedziczenia | C++ zawsze tworzy nowe drzewo dziedziczenia. | Java zawsze używa pojedynczego drzewa dziedziczenia, ponieważ wszystkie klasy są dziećmi klasy Object w Javie. Klasa Object jest korzeniem klasy Object dziedzictwo drzewo w Javie. |
Sprzęt komputerowy | C++ jest bliżej sprzętu. | Java nie jest tak interaktywna ze sprzętem. |
Zorientowany obiektowo | C++ jest językiem obiektowym. Jednak w języku C nie jest możliwa pojedyncza hierarchia główna. | Java jest również zorientowany obiektowo język. Jednak wszystko (z wyjątkiem typów podstawowych) jest obiektem w Javie. Jest to pojedyncza hierarchia główna, ponieważ wszystko wywodzi się z Java.lang.Object. |
Notatka
- Java nie obsługuje argumentów domyślnych, takich jak C++.
- Java nie obsługuje plików nagłówkowych, takich jak C++. Java używa słowa kluczowego import, aby uwzględnić różne klasy i metody.
Przykład programu w C++
Plik: main.cpp
#include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; }
Wyjście:
jvm w Javie
Hello C++ Programming
Przykład programu Java
Plik: Simple.java
class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } }
Wyjście:
Hello Java