JAVA, C and C++

Difference between Java, C and C++

difference_between_java,_c_and_c++

Difference between Java, C and C++

Although Java was modeled after C and C++ languages, it differs from C and C++ in many ways. Java does not incorporate a number of features available in C and C++. For the benefit of C and C++ programmers, we point out here a few major differences between C/C++ and Java languages.

Java and C

Java is a lot like C but the major difference between Java and C is that Java is a object-oriented language and has mechanism to define classes and objects. In an effort to build a simple and safe language, the Java team did not include some of the C features in Java.

  • Java does not include the C unique statement keywords sizeof and typedef.
  • Java does not contain the data types struct and union.
  • Java does not define the type modifiers keywords auto, extern, register, signed and unsigned.
  • Java does not support an explicit pointer type.
  • Java does not have a preprocessor and therefore we cannot use #define, #include and #ifdef statements.
  • Java requires that functions with no arguments must be declared with empty parenthesis and not with the void keywords as done in C.
  • Java adds new operators such as instanceof and >>>.
  • Java adds labeled break and continue statements.
  • Java adds many features required for object-oriented programming.

Java and C++

Java is a true object-oriented language while C++ is basically C with object-oriented extension.That is what exactly the increment operator ++ indicates. C++ has maintained backward compatibility with C. It is therefore possible to write an old style C program and run it successfully under C++. Java appears to be similar to C++ when we consider only the "extension" part of C++. However some object-oriented features of C++ make the C++ code extremely difficult to follow and maintain.

Listed below are some major C++ features that were intentionally omitted from Java or significantly modified.

  • Java does not support operator overloading.
  • Java does not have template class as in C++.
  • Java does not support multiple inheritance of classes.This is accomplished using a new feature called "interface".
  • Java does not support global variables.Every variable and method is declared within a class and forms part of that class.
  • Java does not does not use pointers.
  • Java has replaced the destructor function with a finalize() function.
  • There are no header files in Java.

Java also adds some new features. While C++ is a superset of C, Java is neither a superset nor a subset of C or C++. Java may be considered as a first cousin of C++ and a second cousin of C as illustrated in figure below.

$IMG


If you like dEexams.com and would like to contribute, you can also write your article here or mail your article to admin@deexams.com . See your article appearing on the dEexams.com main page and help others to learn.


Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.


Python if , elif and else

Python Conditions and If statements

  • 0
Python for beginners

Learning Python Part 1

  • 3
Struct Alignment and Padding

Struct Alignment and Padding in C++ And C

  • 0
Friend function

Friend function C++

  • 0
Pointers

C++ Pointers

  • 0
Structures

C++ Structures

  • 0
Types of Inheritance in C++

Inheritance and access specifiers C++

  • 0
Java date pattern

Java Date Pattern Syntax

  • 0
Java Date and Calendar

Java Date formats

  • 0
JAVA Data Type

Data types in Java

  • 0
Java unreachable code

Unreachable Code Error in Java

  • 0

Post Comment

Comments(0)

WEB TECHNOLOGY

Articles

×

Forgot Password

Please enter your email address below and we will send you information to change your password.