Java Differs From C and C++
Although Java was modelled after C and C++ languages, it differs from C and C++ in many ways. Java does not incorporate 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 like C but the major difference between Java and C is that Java is an 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 statements 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 pre-processor and therefore we cannot use # define, # include and #ifdef statements.
· Java requires that the functions with no arguments must be declared with empty parenthesis and not with void keyword as done in C.
· Java adds new operators such as instanceof and>>>.
· Java adds labelled 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++ 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 classes 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 with in a class and forms part of that class.
· Java does not use pointers.
· Java has replaced the destructor function with finalize() function.
· There are no header files in Java.
No comments:
Post a Comment