Java Abstract Classes and Methods

JK JK 2030 
Created at
Updated at  
7,797 0 0

Data abstraction is the process of hiding certain details and showing only essential information to the user.
Abstraction can be achieved with either abstract classes or interfaces (which you will learn more about in the next chapter).

The abstract keyword is a non-access modifier, used for classes and methods:

  • Abstract class: is a restricted class that cannot be used to create objects (to access it, it must be inherited from another class).
  • Abstract method: can only be used in an abstract class, and it does not have a body. The body is provided by the subclass (inherited from).

An abstract class can have both abstract and regular methods:

abstract class Animal {
  public abstract void animalSound();
  public void sleep() {
    System.out.println("Zzz");
  }
}

From the example above, it is not possible to create an object of the Animal class:

Animal myObj = new Animal(); // will generate an error

To access the abstract class, it must be inherited from another class. Let's convert the Animal class we used in the Polymorphism chapter to an abstract class:

Remember from the Inheritance chapter that we use the extends keyword to inherit from a class.

// Abstract class
abstract class Animal {
  // Abstract method (does not have a body)
  public abstract void animalSound();
  // Regular method
  public void sleep() {
    System.out.println("Zzz");
  }
}

// Subclass (inherit from Animal)
class Pig extends Animal {
  public void animalSound() {
    // The body of animalSound() is provided here
    System.out.println("The pig says: wee wee");
  }
}

class Main {
  public static void main(String[] args) {
    Pig myPig = new Pig(); // Create a Pig object
    myPig.animalSound();
    myPig.sleep();
  }
}

 

Below YouTube content might be helpful for your better understanding:

 

 

Tags Java Abstract Classes and Methods Java Abstraction Facebook X
Comments 0
  1. Java Servlet Example
    7,153
  2. How do I replace content that based on the HTML UI Template
    7,187
  3. Creating a simple Java Servlet (Web Server Page) with Apache Maven on Microsoft Windows
    7,214
  4. Dataset of California Foodbanks
    7,200
  5. Java Tutorials associated with AP Computer Science A
    7,701
  6. Java Inner Classes
    7,099
  7. Java Polymorphism
    7,084
  8. Java Inheritance (Subclass and Superclass)
    7,203
  9. Java Packages
    7,207
  10. Java Classes and Objects
    7,138
  11. Java Recursion
    7,222
  12. Java Scope
    7,140
  13. Java Methods
    7,123
  14. Java Arrays
    8,831
  15. Java While Loop/Do While Loop/For Loop/For-Each Loop/Break/Continue
    7,949
  16. Java Switch Statements
    7,447
  17. Java Short Hand If...Else (Ternary Operator)
    7,624
  18. Java If ... Else
    7,444
  19. Java Math
    7,475
  20. Java Variables
    7,516
  21. Java Comments
    8,106
  22. The Print() Method
    7,191
  23. Java Syntax
    7,498
  24. Java Getting Started
    7,444
Recently updated
  1. Michael Jackson's Billie Jean
    278
  2. Meet A2O Lite: Korea's Newest K-Pop Cuties with Addictively Catchy Melodies
    92
  3. Why You Can't Stop Watching Jack Bryan's Beatbox Gaming Shorts
    169
  4. Song So-hee: The Soulful Voice Touching Hearts Through Korean Music
    188
  5. Watch This Dazzling Dancer’s Mind-Blowing Moves
    208
  6. Bootstrap vs. Tailwind CSS: Origins, Features, Pros & Cons, and How to Choose the Right Framework
    253
  7. The Complete Guide to Golang: History, Features, Real-World Uses, and Code Examples
    770
  8. Telemetry vs. Analytics: Understanding the Difference and Why It Matters
    401
  9. The Evolution and Production Reality of Agentic AI
    315
  10. How to Activate or Waive Your UIUC Student Health Insurance
    405
  11. Complete Guide to Building a Machine Learning Model
    430
  12. My life cuts at Las Vegas during Thanksgiving day holiday
    7,517
  13. The Cybercab Transformation: From Autonomous Taxi to Mobile Base Station
    456
  14. Harness vs. OpenClaw: Two Very Different "Agents"
    1,139
  15. Clean Python Environments: The Power of venv vs. Docker
    960
  16. What is Docker? Why is Docker also useful in a development environment?
    708
  17. UIUC 2026-2027 Academic Calendar
    1,786
  18. How to Build Llama 3 AI Apps with Python: Setup & User Prompts
    921
  19. Open-Source LLMs: The AI Revolution
    872
  20. Resume 2.0: Leveling Up for My First Software Gig
    2,535
  21. Not everyone will understand what this man just did
    2,110
  22. UIUC Dorm Guide: Find Your Perfect Fit !!
    1,708
  23. Unpacking IU's Shopper
    879
  24. Jackie Chan's Police Story: The Action Masterpiece
    751
  25. The IVE Story: Identity, 'I AM' Charts, and Influence
    1,061
  26. Tech Visionaries who graduated at UIUC - You are the Next Turn
    1,282
  27. Open Databases for Sex Crime Occurrences in the U.S.
    825
  28. Automatically copy text to the clipboard when dragging the mouse in the Cursor
    2,956
  29. My First Day at University of Illinois-Urvana Champaign
    1,284
  30. Sand, Sea, and a Splash of Fun at Newport Beach: A Family Adventure
    8,276
  31. Sun, Rocks, and Adventure: A Day at Joshua Tree National Park
    8,356
  32. Sipping the Stars: My Starbucks Adventure
    9,852
  33. Exciting explore at Sequoia National Park
    7,774
  34. My Life Shot at Death Valley
    1,859
  35. Ip Man fights with Muay Thai Master
    1,039
  36. Mad Clown - Don't Die
    1,138
  37. How to get Student Enrollment and Degree Verification at UIUC
    5,256
  38. LAX Thanksgiving Rush: A Joyful Reunion
    1,000
  39. ZO ZAZZ(조째즈) - Don`t you know (모르시나요) (PROD.ROCOBERRY)
    1,234
  40. FISHINGIRLS Unleashes Energetic EP 'Funiverse' Featuring Signature Track 'Fishing King'
    1,070
  41. 10CM - To Reach You (너에게 닿기를)
    1,245
  42. Feeling weak? Transform yourself at the UIUC ARC!
    1,658
  43. BOYNEXTDOOR - If I Say I Love You
    1,270
  44. The Future of Software Engineer - AI Engineering
    1,009
  45. G Dragon x Taeyang (Eyes Nose Lips, Power, Home Sweet Home, GOOD BOY) - LE GALA PIÈCES JAUNES 2025
    1,002
  46. Lie - Legend song by BIGBANG
    7,909
  47. Why ROLLBACK is useful when you work with Google Gemini CLI?
    952
  48. Reimbursement after Vaccination at McKinley Health Center
    1,109
  49. Gemini CLI makes a Magic! Time to speed up your app development with Google Gemini CLI!
    1,048
  50. Common Questions from UIUC school life in terms of CS Program
    1,225