Abstraction in Java: Types of Abstraction Explained Examples

Programming languages are the most important currency in this day and age of accelerated digital transformation. Just as humans use spoken language as the medium of communication, programming languages are used by the computer science community to communicate with computers and digital networks. No digital advancement and innovation are possible without programming languages. That is why companies all across the globe increasingly depend on programmers and developers to move their business aspirations and growth prospects further.

Java is probably the longest-standing programming language that continues to dominate the market despite continuous predictions of its discontinuance over several decades in the past. According to Statista, nearly 65% of developers worldwide are still using it in 2021. It is platform-independent, object-oriented, user-friendly, and has many applications from web-based use-cases to software tools. So it is no surprise that the Java community is one of the strongest and most active communities in the digital world! 

Due to this continued popularity in the computer science industry and the high business potential, Java developers and programmers are highly demanded in the digital sector. Conversely, the competition in this field of work is exceptionally high, with millions of aspirants globally seeking the same job. Candidates can gain a competitive edge over others in many ways. One of which is to have a firm grasp of the principles and theories of the language. 

The abstraction method in Java is a commonly used process in Java that is considered foundational knowledge among computer science professionals. In this blog, we will learn what abstraction in Java and abstraction in oops is with examples and discuss the way forward in a career in software engineering.

Get Software Engineering degrees online from the World’s top Universities. Earn Executive PG Programs, Advanced Certificate Programs, or Masters Programs to fast-track your career.

Read on to find out more about this. 

What Is Meant By Abstraction In OOP?

OOP stands for object-oriented programming known by four important tenets – Abstraction, Encapsulation, Inheritance and Polymorphism. Abstraction is the first pillar of OOP and is the process of selecting data to show only certain information to the end-user.

For example, while pressing the ignition button on our cars, most of us are concerned only with whether the car starts or not. We are never concerned about what goes behind the scene, from when we press the ignition to when the car starts up. If this event was a code, the process of abstraction could be used to filter out only the information of starting the car. In essence, abstraction in oop is a tool that helps reduce programming time, effort, and complexity. 

Read on to find out about abstraction in Java.

Abstraction In Java: Overview

In Java, a class defined by the ‘abstract’ keyword is called an abstract class. It can be declared using abstract or non-abstract methods. But before we understand the abstract class, it is essential to learn what the abstraction method in Java is all about. 

Abstraction in Java is the process of masking implementation details from the user in a way to display only functionality. In other words, it displays only the essential information to a user while hiding the background details of the object. Thus, abstraction helps us filter details about what an object does and ditch the how of it. 

There are two ways of completing the abstraction method in Java – abstract class and interface. As mentioned above, an abstract class is a class that is declared abstract by using that particular keyword. It can be implemented by abstract or non-abstract methods but abstract classes require extensions and implementation of the method. 

Abstract Method In Java: Examples With Explanations

An abstract method declares an object as abstract, and the object is not implemented. Here are some examples of the abstract method.

An abstract class with the abstract method

In the example below, Tea is the abstract class with only one abstract method implemented by the Honda class.

abstract class Tea{  

  abstract void run();  


class Honda4 extends Tea{  

void run(){System.out.println(“running safely”);}  

public static void main(String args[]){  

 Tea obj = new Honda4();;  


Outcome – running safely

An abstract class with the factory method

Figure is the abstract class implemented by the Rectangle and Circle classes in the example below. Here we don’t see the implementation class since it is hidden from the user. So to obtain the object of the implementation class, we use a method called the factory method. The factory method is a method that provides the instance of the class. 

abstract class Figure{  

abstract void draw();  


//In real scenario, implementation is provided by others i.e. unknown by end user  

class Rectangle extends Figure{  

void draw(){System.out.println(“drawing rectangle”);}  


class Circle1 extends Figure{  

void draw(){System.out.println(“drawing circle”);}  


//In real scenario, method is called by programmer or user  

class TestAbstraction1{  

public static void main(String args[]){  

Figure s=new Circle1();//In a real scenario, object is provided through method, e.g., getFigure() method  





Outcome – drawing circle

An abstract class with data member, constructor and methods

An abstract class has an abstract or non-abstract method, a data member, constructor and also main method. The example below explains this.

//Example of an abstract class that has abstract and non-abstract methods  

 abstract class Tea{  

   Tea(){System.out.println(“tea is created”);}  

   abstract void run();  

   void changeGear()

{System.out.println(“gear changed”);}  


//Creating a Child class which inherits Abstract class  

 class Honda extends Tea{  

 void run(){System.out.println(“running safely..”);}  


//Creating a Test class which calls abstract and non-abstract methods  

 class TestAbstraction2{  

 public static void main(String args[]){  

  Tea obj = new Honda();;  





Outcome – 

tea is created

running safely

Gear changed

How To Have A Successful Career As A Software Engineer?

Whether you are just starting off with programming languages or just looking to enhance your Java skills, a degree or professional certificate in software engineering is an excellent idea to further your career prospects. Having a certificate from a reputed institution is proof of aptitude, expertise and skillset that every employer values.

upGrad offers a unique Job-linked PG certification in software engineering that is the perfect short-term program to catapult your software engineering aspirations to the moon. It’s a five-month certification course with a high track record of producing industry-ready software professionals. It’s a training and polishing program designed for first-time technology job aspirants and provides specialization in MERN or Cloud-Native. Students learn Java, OODAP, DSA, HTML5, CSS3, JavaScript, SQL and NoSQL Databases and a lot more. 

upGrad specializes in designing unique gap-focussed programs designed especially for working professionals or final year students. This certificate program also includes flexible class hours and 360-degree career assistance. 


Software engineers are some of the most demanded professionals in the market. Career opportunities in software engineering promise high salaries and come with guarantees of long-term stability and professional growth. upGrad’s certification is an excellent addition to anyone’s resume. Thus, we would highly recommend that aspirants waste no time claiming this rare, extraordinary opportunity.

What are the job opportunities after earning a software engineering certification?

Today, software engineering runs the world. So, the opportunities are endless. After completing upGrad’s course, one can successfully seek roles of software engineer, frontend or backend developer, full-stack developer, mobile or web app developer, etc.

How long does it take to learn Java?

Java is one of the easiest programming languages to learn. Usually, it takes a few months to pick up the essential concepts and techniques. If a student already knows languages like C or C++, learning Java becomes far easier. After learning the basics, one can spend years fine-tuning their Java skills.

What is the minimum eligibility for the course?

The minimum eligibility for upGrad’s course in software engineering is that the applicant has to be a 2017-21 graduate with a BE or BTech or BSc (in computer science) or BCA or higher degree. In addition, the candidate must have a minimum of 60% or a diploma in 10th and 12th.

Want to share this article?

Master The Technology of the Future

Leave a comment

Your email address will not be published. Required fields are marked *

Our Popular Software Engineering Courses

Get Free Consultation

Leave a comment

Your email address will not be published. Required fields are marked *

Get Free career counselling from upGrad experts!
Book a session with an industry professional today!
No Thanks
Let's do it
Get Free career counselling from upGrad experts!
Book a Session with an industry professional today!
Let's do it
No Thanks