Inheritance and Polymorphism Cheatsheet
Inheritance and Polymorphism Cheatsheet
Inheritance and Polymorphism Cheatsheet
Inheritance in Java
Inheritance is an important feature of object- // Parent Class
oriented programming in Java. It allows for one
class Animal {
class (child class) to inherit the fields and
methods of another class (parent class). For // Animal class members
instance, we might want a child class Dog to }
inherent traits from a more general parent class
Animal .
// Child Class
When defining a child class in Java, we use the
keyword extends to inherit from a parent class Dog extends Animal {
class. // Dog inherits traits from Animal
}
super() in Java
In Java, a child class inherits its parent’s fields // Parent class
and methods, meaning it also inherits the
class Animal {
parent’s constructor. Sometimes we may want to
modify the constructor, in which case we can String sound;
use the super() method, which acts like the Animal(String snd) {
parent constructor inside the child class
this.sound = snd;
constructor.
Alternatively, we can also completely override a }
parent class constructor by writing a new }
constructor for the child class.
// Child class
class Dog extends Animal {
// super() method can act like the
parent constructor inside the child
class constructor.
Dog() {
super("woof");
}
// alternatively, we can override the
constructor completely by defining a
new constructor.
Dog() {
this.sound = "woof";
}
}
// Child class
class Cat extends Animal {
public void greeting() {
System.out.println("The cat
meows.");
}
}
class MainClass {
public static void main(String[]
args) {
Animal animal1 = new Animal(); //
Animal object
Animal cat1 = new Cat(); // Cat
object
animal1.greeting(); // prints "The
animal greets you."
cat1.greeting(); // prints "The cat
meows."
}
}
Method Overriding in Java
In Java, we can easily override parent class // Parent class
methods in a child class. Overriding a method is
class Animal {
useful when we want our child class method to
have the same name as a parent class method public void eating() {
but behave a bit differently. System.out.println("The animal
In order to override a parent class method in a
is eating.");
child class, we need to make sure that the child
class method has the following in common with }
its parent class method: }
Method name
Return type
Number and type of parameters // Child class
Additionally, we should include the class Dog extends Animal {
@Override keyword above our child class
// Dog's eating method overrides
method to indicate to the compiler that we want
to override a method in the parent class. Animal's eating method
@Override
public void eating() {
System.out.println("The dog is
eating.");
}
}
Child Classes in Arrays and ArrayLists
In Java, polymorphism allows us to put instances // Animal parent class with child
of different classes that share a parent class
classes Cat, Dog, and Pig.
together in an array or ArrayList .
For example, if we have an Animal parent Animal cat1, dog1, pig1;
class with child classes Cat , Dog , and Pig
we can set up an array with instances of each
cat1 = new Cat();
animal and then iterate through the list of
animals to perform the same action on each. dog1 = new Dog();
pig1 = new Pig();
animal.sound();
Print Share