Data abstraction is the process of hiding the details but only displaying the relevant information to the users, which means hiding the implementation details and displaying only its functionalities. This is one of the main advantages of using abstraction.
Abstraction is one of the four major concepts behind object-oriented programming (OOP).
Real Life Example of Abstraction in Java
Suppose a person is typing with the help of a keyboard on his/her computer. That person knows that pressing any alphabet on the keyboard, displays that alphabet on the screen of the monitor but he/she doesn’t know how the internal mechanism is working to display the alphabet.
Therefore, hiding the internal mechanism and showing only its output is an abstraction in this example.
In java, abstraction can be achieved in two ways.
- Abstraction class.
- Interfaces.
Abstraction class and Abstract methods:
- An abstract class is a class that is declared with an abstract keyword.
- An abstract class may or may not have abstract methods.
- An object of an abstract class cannot be created, to access this class, it must be inherited.
Example:
abstract class ClassName {}
Abstract methods:
- It is a method that can only be used with an abstract class.
- It has no body.
- An abstract method is also declared with an abstract keyword and ends with a semicolon(;) instead of curly braces({}).
Example:
public abstract void methodName();
Let us see it in an example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | // Abstract class abstract class AbstractTest { public abstract void animals(); //abstract method public void dog() { System.out.println("Dog barks"); } } class Cat extends AbstractTest //inheriting AbstractTest class { public void animals() { // animals body System.out.println("Cat meows"); } } public class Main { public static void main(String[] args) { Cat c = new Cat(); // Create an object c.animals(); c.dog(); } } |
Output:
Cat meows
Dog barks
Also, go through an Interface in Java after abstraction