Wednesday, 19 August 2015

Java Tutorial : Inheritance IS-A Relationship Animal (extends)

Java Inheritance: Understanding the IS-A Relationship

🚀 Love learning Java? Subscribe to Ram N Java for more easy tutorials!

What is the IS-A Relationship?

In Java, the IS-A relationship is a way of saying that one object is a specific type of another object. This is the foundation of inheritance. When a class extends another class, it "is a" version of that parent class.

The Animal Example

Think about the natural world to understand this concept easily:

  • Mammal extends Animal: A Mammal IS-A Animal.
  • Dog extends Mammal: A Dog IS-A Mammal (and also IS-A Animal).
  • Parrot extends Animal: A Parrot IS-A Animal.

Key Keywords: Extends and Implements

To create these relationships in Java, we use two main keywords:

  1. Extends: Used when one class inherits from another class.
  2. Implements: Used when a class follows the rules of an interface.

By using extends, a subclass inherits all the properties and behaviors of its superclass (except for private ones!).

The instanceOf Operator

Java provides a special tool called instanceof to check these relationships. For example, if you check if a Dog object is an instanceof Animal, Java will return true.

Watch More Java Tutorials

Check out these related lessons from my channel to master Java inheritance:


Click here to watch in Youtube :
https://www.youtube.com/watch?v=6vVLmIiEWQ8&list=UUhwKlOVR041tngjerWxVccw

Click the below Image to Enlarge

AnimalDemo.java
/**
 * Animal is the Super class of Mammal,Parrot and Dove classes
 */
class Animal
{

}

/**
 * Mammal is the subclass of Animal class.
 */
class Mammal extends Animal
{

}

/**
 * Dog is the subclass of both Mammal and Animal classes.
 */
class Dog extends Mammal
{

}

/**
 * Elephant is the subclass of both Mammal and Animal classes.
 */
class Elephant extends Mammal
{

}

/**
 * Tiger is the subclass of both Mammal and Animal classes.
 */
class Tiger extends Mammal
{

}

/**
 * Parrot is the subclass of Animal classes.
 */
class Parrot extends Animal
{

}

/**
 * Dove is the subclass of Animal classes.
 */
class Dove extends Animal
{

}

public class AnimalDemo
{
    public static void main(String args[])
    {

        Mammal mammal = new Mammal();
        Dog dog = new Dog();
        Elephant elephant = new Elephant();
        Tiger tiger = new Tiger();

        System.out.print("Mammal IS-A Animal : ");
        System.out.println(mammal instanceof Animal);
        System.out.println();

        System.out.print("Dog IS-A Mammal : ");
        System.out.println(dog instanceof Mammal);
        System.out.print("Dog IS-A Animal : ");
        System.out.println(dog instanceof Animal);
        System.out.println();

        System.out.print("Elephant IS-A Mammal : ");
        System.out.println(elephant instanceof Mammal);
        System.out.print("Elephant IS-A Animal : ");
        System.out.println(elephant instanceof Animal);
        System.out.println();

        System.out.print("Tiger IS-A Mammal : ");
        System.out.println(tiger instanceof Mammal);
        System.out.print("Tiger IS-A Animal : ");
        System.out.println(tiger instanceof Animal);
        System.out.println();

        Parrot parrot = new Parrot();
        Dove dove = new Dove();

        System.out.print("Parrot IS-A Animal : ");
        System.out.println(parrot instanceof Animal);
        System.out.println();

        System.out.print("Dove IS-A Animal : ");
        System.out.println(dove instanceof Animal);

    }
}
Output
Mammal IS-A Animal : true

Dog IS-A Mammal : true
Dog IS-A Animal : true

Elephant IS-A Mammal : true
Elephant IS-A Animal : true

Tiger IS-A Mammal : true
Tiger IS-A Animal : true

Parrot IS-A Animal : true

Dove IS-A Animal : true

To Download InheritanceDemo-IS-A-Animal-ExtendsApp Project Click the below link
https://sites.google.com/site/javaee4321/java/InheritanceDemo-IS-A-Animal-ExtendsApp.zip?attredirects=0&d=1

See also:
  • All JavaEE Viedos Playlist
  • All JavaEE Viedos
  • All JAVA EE Links
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • 1 comment:

    Tutorials