Tuesday, 7 August 2018

HOW JAVA DIFFERS FROM C AND C++



Java and C
Java is a lot like C but the major difference between Java and C is that Java is an objectoriented
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 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 and C++
Java is a true object-oriented language while C++ is basically C with object-oriented
extension. 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.
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: