
Originally Posted by
sowmya571
hello
this can also be the explanation
ava can be used to create two types of programs: applications and
applets. The output of a Java compiler is not executable code. Rather
it is bytecode. Java run-time system is an interpreter for bytecode. It
is simply a highly efficient means of encoding a program for
interpretation. It is much easier to allow Java programs to run in a
wide variety of environments. Once the run-time package exists for a
given system, the bytecode version of any Java program can run on it.
Therefore, using bytecode to represent programs is the easiest way to
create truly portable programs.
There are two surface
similarities between Java and C++. First, Java uses a syntax similar to
C++, such as the general forms of the for, while, and do loops. Second,
Java supports object-oriented programming, same way as C++.
There
are also significant differences from C++, which fundamentally makes
Java distinct from C++. Perhaps the single biggest difference between
Java and C++ is that Java does not support pointers. Pointers are
inherently insecure and troublesome. Since pointers do not exist in
Java, neither does the -> operator. Some other C++ features are not
found in Java.
Java does not include structures or unions because the class encompasses these other forms. It is redundant to include them.
Java does not support operator overloading.
Java does not include a preprocessor or support the preprocessor directives.
Java does not perform any automatic type conversions that result in a loss of precision.
All the code in a Java program is encapsulated within one or more
classes. Therefore, Java does not have global variables or global
functions.
Java does not support multiple inheritance.
Java does not support destructors, but rather, add the finalize() function.
Java does not have the delete operator.
The << and >> are not overloaded for I/O operations.
Java does not support templates.
Java
shares many similarities with C++ as it relates to classes, but there
are also several differences. By default, members of a class are
accessible by other members of their class, derived classes, and by
other members of their package. Therefore, class members are “more
public” than they are in C++, however, the private access specifier
applies only to the variable or method that it immediately precedes.
All class objects are instantiated in Java using the new operator.
Therefore, all class objects are dynamically allocated. When there are
no references to an object, then the object is considered inactive.
Java
includes two class-management features that help make using and
organizing classes easier. The first is called a package, which defines
a scope. Therefore, names declared inside a package are private to that
package. Java uses file directories to store packages. Therefore, each
package must be stored in a directory that has the same name as the
package—including capitalization.
Java, like C++, supports
hierarchies of classes. However, the way that inheritance is
implemented in Java differs substantially from the way that it is
implemented in C++. Since multiple inheritance is not allowed in Java,
then Java class hierarchies are linear. In Java, inheritance is
referred to as subclassing. A base class in C++ is referred to as
superclass in Java.