Има много разлики и прилики между C++ програмиране език и Java . Списък с основните разлики между C++ и Java е даден по-долу:
Сравнителен индекс | C++ | Java |
---|---|---|
Независим от платформата | C++ е зависим от платформата. | Java е независима от платформата. |
Използва се главно за | C++ се използва главно за системно програмиране. | Java се използва главно за програмиране на приложения. Той се използва широко в базирани на Windows, уеб базирани, корпоративни и мобилни приложения. |
Дизайн цел | C++ е предназначен за програмиране на системи и приложения. Това беше продължение на Език за програмиране C . | Java е проектирана и създадена като интерпретатор за системи за печат, но по-късно е разширена като помощна мрежова изчислителна система. Той е проектиран да бъде лесен за използване и достъпен за по-широка аудитория. |
Отивам | C++ поддържа командата goto. | Java не поддържа командата goto. |
Множествено наследяване | C++ поддържа множествено наследяване. | Java не поддържа множествено наследяване чрез клас. Може да се постигне чрез използване на интерфейси в java . |
Претоварване на оператора | C++ поддържа претоварване на оператора . | Java не поддържа претоварване на оператори. |
Указатели | C++ поддържа указатели. Можете да напишете указателна програма на C++. | Java поддържа указател вътрешно. Въпреки това не можете да напишете програмата за указател в java. Това означава, че java има ограничена поддръжка на указател в java. |
Компилатор и интерпретатор | C++ използва само компилатор. C++ се компилира и изпълнява с помощта на компилатора, който преобразува изходния код в машинен код, така че C++ зависи от платформата. | Java използва както компилатор, така и интерпретатор. Изходният код на Java се преобразува в байт код по време на компилация. Интерпретаторът изпълнява този байткод по време на изпълнение и произвежда изход. Java се интерпретира, затова е независима от платформата. |
Повикване по стойност и Повикване по референция | C++ поддържа както извикване по стойност, така и извикване по референция. | Java поддържа извикване само по стойност. В java няма извикване чрез препратка. |
Структура и съюз | C++ поддържа структури и съюзи. | Java не поддържа структури и съюзи. |
Поддръжка на нишки | C++ няма вградена поддръжка за нишки. Той разчита на библиотеки на трети страни за поддръжка на нишки. | Java има вграден резба поддържа. |
Коментар на документацията | C++ не поддържа коментари в документацията. | Java поддържа коментар на документацията (/** ... */) за създаване на документация за изходния код на Java. |
Виртуална ключова дума | C++ поддържа виртуална ключова дума, за да можем да решим дали да заменим дадена функция или не. | Java няма виртуална ключова дума. Можем да заменим всички нестатични методи по подразбиране. С други думи, нестатичните методи са виртуални по подразбиране. |
неподписано дясно изместване >>> | C++ не поддържа оператор >>>. | Java поддържа неподписан десен оператор >>>, който запълва нула в горната част за отрицателните числа. За положителни числа работи по същия начин като оператора >>. |
Дърво на наследството | C++ винаги създава ново дърво на наследяване. | Java винаги използва едно дърво на наследяване, тъй като всички класове са дъщерни на класа Object в Java. Класът Object е коренът на наследство дърво в java. |
Хардуер | C++ е по-близо до хардуера. | Java не е толкова интерактивна с хардуера. |
Обектно ориентиран | C++ е обектно-ориентиран език. В езика C обаче йерархията с един корен не е възможна. | Java също е обектно-ориентиран език. Въпреки това, всичко (с изключение на основните типове) е обект в Java. Това е йерархия с един корен, тъй като всичко се извлича от java.lang.Object. |
Забележка
- Java не поддържа аргументи по подразбиране като C++.
- Java не поддържа заглавни файлове като C++. Java използва ключовата дума import, за да включи различни класове и методи.
Пример за C++ програма
Файл: main.cpp
#include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; }
Изход:
Hello C++ Programming
Пример за програма на Java
Файл: Simple.java
class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } }
Изход:
Hello Java