Java Polymorphism

JK JK 2038 
Created at  
7,104 0 0

Polymorphism means "many forms", and it occurs when we have many classes that are related to each other by inheritance.

Like we specified in the previous chapter; Inheritance lets us inherit attributes and methods from another class. Polymorphism uses those methods to perform different tasks. This allows us to perform a single action in different ways.

For example, think of a superclass called Animal that has a method called animalSound(). Subclasses of Animals could be Pigs, Cats, Dogs, Birds - And they also have their own implementation of an animal sound (the pig oinks, and the cat meows, etc.):

class Animal {
  public void animalSound() {
    System.out.println("The animal makes a sound");
  }
}

class Pig extends Animal {
  public void animalSound() {
    System.out.println("The pig says: wee wee");
  }
}

class Dog extends Animal {
  public void animalSound() {
    System.out.println("The dog says: bow wow");
  }
}

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

Now we can create Pig and Dog objects and call the animalSound() method on both of them:

class Animal {
  public void animalSound() {
    System.out.println("The animal makes a sound");
  }
}

class Pig extends Animal {
  public void animalSound() {
    System.out.println("The pig says: wee wee");
  }
}

class Dog extends Animal {
  public void animalSound() {
    System.out.println("The dog says: bow wow");
  }
}

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

Why And When To Use "Inheritance" and "Polymorphism"?
- It is useful for code reusability: reuse attributes and methods of an existing class when you create a new class.

 

Tags Java Java Polymorphism Facebook X
Comments 0
Similar posts
  1. Java Inheritance (Subclass and Superclass)
    7,221
  2. Java Inner Classes
    7,123
  3. Java Packages
    7,222
  4. Java Classes and Objects
    7,165
  5. Java Recursion
    7,237
  6. Java Scope
    7,171
  7. Java Methods
    7,145
  8. Java While Loop/Do While Loop/For Loop/For-Each Loop/Break/Continue
    7,986
  9. Java Switch Statements
    7,479
  10. Java Short Hand If...Else (Ternary Operator)
    7,648
  11. Java If ... Else
    7,478
  12. Java Math
    7,502
  13. Java Variables
    7,544
  14. Java Comments
    8,150
  15. The Print() Method
    7,205
  16. Java Syntax
    7,526
  17. Java Getting Started
    7,471
  18. What is Java?
    7,135
  19. Machine Learning Types and Programming Languages
    7,306
  20. Java Tutorials associated with AP Computer Science A
    7,729
  21. Creating a simple Java Servlet (Web Server Page) with Apache Maven on Microsoft Windows
    7,230
  22. Java Servlet Example
    7,167
  23. Difference between Java and Javascript
    7,707
  24. Challenge: One Code Problem Per Day
    1,219
  1. How do I replace content that based on the HTML UI Template
    7,200
  2. Dataset of California Foodbanks
    7,216
  3. Java Abstract Classes and Methods
    7,827
  4. Java Arrays
    8,897
Recently updated
  1. Comprehensive Guide to Recent Critical PHP Vulnerabilities
    314
  2. How to Check Your UIUC Graduation Progress Using DARS Audit
    286
  3. Michael Jackson's Billie Jean
    318
  4. Meet A2O Lite: Korea's Newest K-Pop Cuties with Addictively Catchy Melodies
    171
  5. Why You Can't Stop Watching Jack Bryan's Beatbox Gaming Shorts
    213
  6. Song So-hee: The Soulful Voice Touching Hearts Through Korean Music
    244
  7. Watch This Dazzling Dancer’s Mind-Blowing Moves
    261
  8. Bootstrap vs. Tailwind CSS: Origins, Features, Pros & Cons, and How to Choose the Right Framework
    305
  9. The Complete Guide to Golang: History, Features, Real-World Uses, and Code Examples
    918
  10. Telemetry vs. Analytics: Understanding the Difference and Why It Matters
    442
  11. The Evolution and Production Reality of Agentic AI
    356
  12. How to Activate or Waive Your UIUC Student Health Insurance
    449
  13. Complete Guide to Building a Machine Learning Model
    467
  14. My life cuts at Las Vegas during Thanksgiving day holiday
    7,555
  15. The Cybercab Transformation: From Autonomous Taxi to Mobile Base Station
    497
  16. Harness vs. OpenClaw: Two Very Different "Agents"
    1,214
  17. Clean Python Environments: The Power of venv vs. Docker
    1,020
  18. What is Docker? Why is Docker also useful in a development environment?
    749
  19. UIUC 2026-2027 Academic Calendar
    1,861
  20. How to Build Llama 3 AI Apps with Python: Setup & User Prompts
    979
  21. Open-Source LLMs: The AI Revolution
    912
  22. Resume 2.0: Leveling Up for My First Software Gig
    2,650
  23. Not everyone will understand what this man just did
    2,202
  24. UIUC Dorm Guide: Find Your Perfect Fit !!
    1,759
  25. Unpacking IU's Shopper
    920
  26. Jackie Chan's Police Story: The Action Masterpiece
    791
  27. The IVE Story: Identity, 'I AM' Charts, and Influence
    1,105
  28. Tech Visionaries who graduated at UIUC - You are the Next Turn
    1,319
  29. Open Databases for Sex Crime Occurrences in the U.S.
    874
  30. Automatically copy text to the clipboard when dragging the mouse in the Cursor
    3,067
  31. My First Day at University of Illinois-Urvana Champaign
    1,315
  32. Sand, Sea, and a Splash of Fun at Newport Beach: A Family Adventure
    8,322
  33. Sun, Rocks, and Adventure: A Day at Joshua Tree National Park
    8,407
  34. Sipping the Stars: My Starbucks Adventure
    9,943
  35. Exciting explore at Sequoia National Park
    7,811
  36. My Life Shot at Death Valley
    1,925
  37. Ip Man fights with Muay Thai Master
    1,075
  38. Mad Clown - Don't Die
    1,189
  39. How to get Student Enrollment and Degree Verification at UIUC
    5,417
  40. LAX Thanksgiving Rush: A Joyful Reunion
    1,036
  41. ZO ZAZZ(조째즈) - Don`t you know (모르시나요) (PROD.ROCOBERRY)
    1,279
  42. FISHINGIRLS Unleashes Energetic EP 'Funiverse' Featuring Signature Track 'Fishing King'
    1,104
  43. 10CM - To Reach You (너에게 닿기를)
    1,283
  44. Feeling weak? Transform yourself at the UIUC ARC!
    1,692
  45. BOYNEXTDOOR - If I Say I Love You
    1,307
  46. The Future of Software Engineer - AI Engineering
    1,038
  47. G Dragon x Taeyang (Eyes Nose Lips, Power, Home Sweet Home, GOOD BOY) - LE GALA PIÈCES JAUNES 2025
    1,041
  48. Lie - Legend song by BIGBANG
    7,939
  49. Why ROLLBACK is useful when you work with Google Gemini CLI?
    1,004
  50. Reimbursement after Vaccination at McKinley Health Center
    1,144