Although java was modeled after C and C++ languages, it differ 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 an object-oriented language and has mechanism to define classes and objects. In an effort to builds 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 goto, sizeof, and typedef.
• Java does not contain the data types struct, union and enum.
• 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 does not support any mechanism for defining variable arguments to functions.
• Java requires that the functions with no arguments must be declared with empty parenthesis and not with the 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++ 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 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 within a class and forms part of that class.
• Java does not use pointers.
• Java has replaced the destructor function with a finalize( ) function.
• There are no header files in Java.
No comments:
Post a Comment