Difference between Java and C++

Difference between Java and C++

Previous Home Next


C++ was mainly designed for systems programming and Java was created initially to support network computing. 

But today java is provides support for all purpose including internet, distributed system etc.

1.C++ supports pointers whereas Java does not 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.

2.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

3.Java is platform independent language but c++ is depends upon operating system machine etc.

4.Java uses compiler and interpreter both and in c++ their is only compiler
5.C++ supports operator overloading multiple inheritance but java does not.

6.C++ is more nearer to hardware then Java

7.Everything is an object in Java (Single root hierarchy as everything gets derived from java.lang.Object).

8.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 (#ifdef/#ifndef type).

9.Thread support is built-in Java but not in C++.

10.Internet support is built-in Java but not in C++.

11.Java does not support header file, include library files just like C++ .Java use import to include different Classes and methods.

12.Java does not support default arguments like C++.

13.There is no scope resolution operator :: in Java.

14.There is no "goto " statement in Java.

15.Exception and Auto Garbage Collector handling in Java is different because there are no destructors into Java.

16.Java has method overloading, but no operator overloading just like c++.

17.The String class does use the + and += operators to concatenate strings and String expressions use automatic type conversion,

18.Java support call by value only.

19.Java does not support unsigned integer.
 You can see into source code there are given example through which you can differentiate C++ code writing style and Java code style.

 Java Examples: 

public class R4RFirstJava
public static void main(String[] args)
System.out.println("Hello R4R");
System.out.println("Welcome to http://r4r.co.in");

C++ Examples: #include using namespace std;

void main() 
cout << "Hello R4R\n";
cout << "Welcome to http://r4r.co.in";

Hello R4R
 Welcome to http://r4r.co.in
Previous Home Next