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