■ High performance
Java was designed to be easy for the professional programmer to learn and use effectively. learning Java will be even easier. Best of all, if you are an experienced C++ programmer.
“Everything is an object” paradigm and the pragmatist’s “stay out of my way” model. The object model in Java is simple and easy to extend, while simple types, such as integers, are kept as high-performance non objects.
Program must execute reliably in a variety of systems. Thus, the ability to create robust programs was given a high priority in the design of Java. Togain reliability, Java helps object-oriented exception handling. In a well-writtenJava program, all run-time errors can—and should—be managed by your program.
Java allows you to write programs that do many things simultaneously.Java’s easy-to-use approach to multithreading allows you to think about the specific behavior of your program..
The Java designers made several hard decisions in the Java language and the Java Virtual Machine in an attempt to alter this situation. Their goal was “write once; run anywhere, any time, forever.” To a great extent, this goal was accomplished.
Interpreted and High Performance
The Java program first converts into intermediate code that is known as byte code by using compiler.Then that byte code is converts into machine code using interpreter. We can easily run this byte code in any cross platform. platform-independent code.
Java is designed for the distributed environment of the Internet, because it handles TCP/IP protocols. Java revived these interfaces in a package called Remote Method Invocation (RMI). This feature brings an unparalleled level of abstraction to client/server programming.
Java programs carry with them substantial amounts of run-time type information that is used to verify and resolve accesses to objects at run time. This makes it possible to dynamically link code in a safe and expedient manner.
The Three OOP Principles
All object-oriented programming languages provide mechanisms that help you implement the object-oriented model. They are encapsulation, inheritance, and polymorphism.
Alternate: Encapsulation is the way to give the object its ‘black box’ behavior by combining data & behavior in one package & hiding the implementation of the data from the user of the object.
Inheritance is the process by which one object acquires the properties of another object.This is important because it supports the concept of hierarchical classification.
As the name suggests, polymorphism means using the same name for different methods. In Java this can be achieved by either overloading or overriding a particular method.
An object’s ability to decide what overloaded or overridden method to apply to itself is known as runtime polymorphism.