In Java, when a class inherits from another class, it inherits both the data members (fields or variables) and methods (functions or behaviors) of the parent class. This process is known as inheritance and is a fundamental concept of object-oriented programming.
Inheriting Data Members:
- Inherited data members include fields or variables declared in the parent class.
- These data members are accessible in the subclass just like they are in the parent class.
- Subclasses can use inherited data members directly or override them if necessary.
Inheriting Methods:
- Inherited methods include all the public and protected methods defined in the parent class.
- Subclasses can use inherited methods directly, extend their functionality, or override them to provide custom implementations.
- Private methods in the parent class are not inherited and are not accessible in the subclass.
Example:
Consider a simple example to illustrate inheritance in Java:
// Parent class
class Vehicle {
String make;
String model;
int year;
void start() {
System.out.println("Starting the vehicle...");
}
void stop() {
System.out.println("Stopping the vehicle...");
}
}
// Subclass inheriting from Vehicle
class Car extends Vehicle {
int numDoors;
void honk() {
System.out.println("Beep beep!");
}
}
public class Main {
public static void main(String[] args) {
Car myCar = new Car();
myCar.make = "Toyota";
myCar.model = "Camry";
myCar.year = 2021;
myCar.numDoors = 4;
System.out.println("Car make: " + myCar.make);
System.out.println("Car model: " + myCar.model);
System.out.println("Car year: " + myCar.year);
myCar.start(); // Inherited method from Vehicle
myCar.honk(); // Method specific to Car class
myCar.stop(); // Inherited method from Vehicle
}
}
In this example:
- The `Car` class inherits the `make`, `model`, `year` fields, and `start()`, `stop()` methods from the `Vehicle` class.
- It also defines its own field `numDoors` and method `honk()`.
- When creating an instance of `Car`, we can access both the inherited fields/methods and the class-specific fields/methods.
In summary, inheritance in Java allows subclasses to inherit both data members and methods from the superclass, providing code reuse and promoting a hierarchical structure in the class hierarchy.
Comments
Post a Comment