Introduction, Features and Characteristics of Java | OOPs Concepts
Java is an object-oriented programming language developed by Sun Microsystems in 1991 by James Gosling, Patrick Naughton, Chris Warth, Ed Frank and Mike Sheridan. (Wiki)
Java is one of the simplest languages for beginners to start with. In this section, I will ponder on Object-Oriented features and characteristics of Java.
Java is very similar to C and C++ in the beginning but provides much additional functionality. Hence, prior knowledge of these languages will be a plus point while learning Java.
But, if this is your first programming language, you don’t need to worry. I will guide you through every required detail for a beginner.
Why is Java Called Java?
In 1991, the language was named OAK to symbolize the tree outside Gosling’s office. In 1995, the name changed to JAVA which comes from Java Coffee.
Let us have a quick glance at the features and characteristics Java.
Object-Oriented Features Of Java:
Since it is an object-oriented language, it will support the following features:
An object is a real-world entity that has three basic characteristics: Identity, State, and Behaviour.
A class is a collection of objects. We will study classes in detail in further modules of this tutorial.
The process of grouping these attributes and behaviors into a single unit is known as encapsulation.
This process of sustaining only essential and relevant information and discarding the rest is known as abstraction.
When one class acquires properties of another class, it is known as inheritance. The class that gives the properties is called superclass and the class that acquires the properties is called subclass. The major benefit of inheritance is reusability of code.
The last major concept of object-oriented programming is the polymorphism. ‘Poly’ means many and ‘morph’ means forms. This means it has statements that have many forms or the same statements can have different meanings in different contexts.
This is all about OOPs concept. These points are good enough for a beginner to kick start learning Java programming language. If you want to know in detail, you can read Object-Oriented Programming in detail.
Feature and Characteristics of Java:
Apart from above object-oriented features, JAVA is also:
- Platform Independent
Why is Java Platform Independent Language?
Java is Write Once Run Anywhere (WORA) language. This means that once the code is written and compiled, it can be executed on any platform including Windows, Linux, Mac/OS etc.
The bytecode can be ported to any operating system.
Since its syntax resembles C and C++ programming, it is simple to learn.
Unlike C++, Java doesn’t support explicit pointers since explicit pointers were seen as a threat to security. Implicit pointers still exist but users cannot define pointers making the language more secure.
It has various facilities for automatic garbage collection so that the users do not have to create destructors. It also has strong type checking and exception handling making it a robust language.
Threads are independent small programs or subprograms of a program. When these threads are run concurrently, the process is called multithreading.
- Architecture Neutral
We have seen in C and C++ that the size of integers, float and other variables varies according to the architecture of the system in bits. Java has the same size of any type of variable across all possible architectures.
Java also performs better and can be used to create distributed applications.
Is Java a pure object-oriented programming language?
There is a lot of buzz in programming community whether Java is a pure object-oriented programming language or not.
It is important to note that Java is object-oriented language but not purely object-oriented language. Java supports the creation of objects as well as primitive data types like int, float, char etc.
A purely object-oriented language will support the creation of objects only.
This is the introduction to the Java where we have covered characteristics of Java and its object-oriented concepts. Before moving to the next section of this tutorial, if you have any question, write in comment section below.