IS-A relationship in Java
The IS-A relationship in Java represents inheritance, where one class (the subclass) inherits the properties and behaviors (fields and methods) of another class (the superclass). This relationship indicates that the subclass is a type of the superclass, enabling polymorphism and code reuse.
Table of Contents
Key Points of IS-A Relationship
- Inheritance: ‘IS-A’ relationship is established through inheritance using the `extends` keyword.
- Polymorphism: Objects of the subclass can be treated as objects of the superclass.
- Code Reuse: Common functionalities are written in the superclass and inherited by subclasses, reducing code duplication.
Example
```java
// Superclass
class Animal {
void eat() {
System.out.println("This animal eats food.");
}
}
// Subclass
class Dog extends Animal {
void bark() {
System.out.println("The dog barks.");
}
}
public class Test {
public static void main(String[] args) {
Dog myDog = new Dog();
// IS-A relationship allows Dog to use methods of Animal
myDog.eat(); // Output: This animal eats food.
myDog.bark(); // Output: The dog barks.
}
}
```
Explanation of IS-A relationship in Java
In this example, `Dog` extends `Animal`, establishing an IS-A relationship. This means a `Dog` is an `Animal`. The `Dog` class inherits the `eat` method from the `Animal` class, demonstrating code reuse and polymorphism. The `Dog` class can have additional methods like `bark` that are specific to `Dog`.
Summary
The IS-A relationship in Java is a fundamental concept that promotes inheritance, allowing subclasses to inherit and reuse code from superclasses, enabling polymorphism, and creating a hierarchical class structure.