Java and C++ are Object Oriented Programming (OOPs) language. Java is derived from C++ , hence both has many similarities. C++ is considered more complex when compared to Java . C++ was designed for infrastructure programming and extends the C programming language. Java supports network computing.
Following are the difference between C++ and Java:
Although both are and was derived from but still there is big difference between these two languages.
- Java does not support operator overloading
- A class definition in Java has no closing semicolon.
- In Java, Forward reference declarations are not required.
- Scope resolution operator is not required in Java.
- In C++ static data members must be re-declared outside the class
- In C++ programming can be done without making objects.
- Java has both compiler and Interpreter for analyzing and execution of program.
- Java is platform Independent whereas C++ is platform dependent.
- In C++ automatic garbage collection mechanism is absent while java has it.
- C++ is less dynamic and more optimizable than Java.
- C++ allows more control over compile-time optimization, whereas Java depends on the specific runtime optimization
- C++ uses pointers while java doesn't have pointers
- Java compiles to byte code whereas C++ compiles to machine language
- Java has built-in Internet support while C++ does not have it.
- C++ works on Write Once, Compile Anywhere while Java works on Write Once, Run Anywhere / Write Once, Run Everywhere.
- C++ has multiple binary compatibility standards while Java has a binary compatibility standard
- Java uses a package system for splitting up code in multiple source files while C++ uses a header file source code