- C++ supports pointers whereas Java does not support pointers. But when many programmers questioned how you can work without pointers, the promoters began saying "Restricted pointers.” So we can say java supports Restricted pointers.
- At compilation time Java Source code converts into byte code .The interpreter execute this byte code at run time and gives output .Java is interpreted for the most part and hence platform independent. C++ run and compile using compiler which converts source code into machine level languages so c++ is plate from dependents
- Java is platform independent language but c++ is depends upon operating system machine etc. C++ source can be platform independent (and can work on a lot more, especially embedeed, platforms), although the generated objects are generally platofrom dependent but there is clang for
llvmwhich doesn't have this restriction.
- Java uses compiler and interpreter both and in c++ their is only compiler
- C++ supports operator overloading multiple inheritance but java does not.
- C++ is more nearer to hardware then Java
- Everything (except fundamental types) is an object in Java (Single root hierarchy as everything gets derived from
- Java does is a similar to C++ but not have all the complicated aspects of C++ (ex: Pointers, templates, unions, operator overloading, structures etc..) Java does not support conditional compile (
- Thread support is built-in Java but not in C++. C++11, the most recent iteration of the C++ programming language does have Thread support though.
- Internet support is built-in Java but not in C++. However c++ has support for socket programming which can be used.
- Java does not support header file, include library files just like C++ .Java use import to include different Classes and methods.
- Java does not support default arguments like C++.
- There is no scope resolution operator
::in Java. It has
.using which we can qualify classes with the namespace they came from.
- There is no
gotostatement in Java.
- Exception and Auto Garbage Collector handling in Java is different because there are no destructors into Java.
- Java has method overloading, but no operator overloading just like c++.
- The String class does use the + and += operators to concatenate strings and String expressions use automatic type conversion,
- Java is pass-by-value.
- Java does not support unsigned integer.